New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
new changes after meeting #3
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,6 +17,7 @@ one.* | |
*.fot | ||
*.cb | ||
*.cb2 | ||
*.xdv | ||
|
||
|
||
## Intermediate documents: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
\section{Proposal} \label{sec:proposal} | ||
|
||
Let us assume the resources available are fairly fixed in line with \secref{sec:resources}. | ||
Hence we will need an arbitration committee \secref{sec:arbitration} | ||
Hence we will need a resource allocation committee \secref{sec:arbitration} to arbitrate requests. | ||
|
||
We promised some form of user batch which it seems likely will be needed at least initially as many users understand batch processing of images say. By batch here we should be clear we mean a BPS command line interface to something like PanDA. \secref{sec:bpsbatch} | ||
|
||
|
@@ -10,19 +10,34 @@ \section{Proposal} \label{sec:proposal} | |
|
||
\subsection{Science Platform}\label{sec:rsp} | ||
The RSP is now well established and is following the vision \citeds{LSE-319}. | ||
Data Preview 0 has introduced tn early version of this to the community. | ||
Data Preview 0 has introduced an early version of this to the community. | ||
|
||
\citeds{DMTN-202} points 4 (\secref{sec:requirements}) on catalogs we can assume means a sort of Dask/Spark access to the Parquet files. The baseline answer for catalog queries was Qserv and but we so not have the "next to the database processing". The DAC team feel the parquet files provide a good mechanism for this and there is some effort in FY24 to implement it.{\textbf We should consider carefully what the minimum system we need here is to cover our requirements.} | ||
\citeds{DMTN-202} point 4 (\secref{sec:requirements}) in respect of catalogs we now propose to be satisfied by some form of Dask/Spark access to the catalogs as spatially sharded Parquet files. | ||
The previous baseline design for this was a layer on top of Qserv, but in practice we do not have this ``next to the database processing'' implemented, and the RSP and Data Access teams feel that, with the advance of data-science software, a Parquet-based solution is now a good solution. | ||
There is some effort available in FY24 to prototype and implement this. | ||
We shall consider carefully what the minimum system we need here is to cover our requirements. | ||
|
||
We will not at this point promise extensive Dask/Spark like services but should work on that in the background with LINCC. I think we all agree this will be scientifically useful, but we need to finish construction as a priority. | ||
We will not at this point promise extensive Dask/Spark like services. | ||
The minimum needed to meet requirements will be done on construction and we shall work further on it in the background with LINCC. | ||
We all agree this will be scientifically useful, but we need to finish construction as a priority and this is not a requirement. We will work with LINCC on it certainly and something will be available but we are not promising this and we are not accepting requirements on it. | ||
|
||
\textbf{Do we agree to work with LINCC on DASK/Spark ? and promise the minimum batch system and next to the database processing as the construction deliverable} | ||
The standard/default allocation for any data rights user will be RSP access. | ||
Users with bulk needs will use BPS (\secref{sec:bpsbatch}) at a Data Facility. | ||
|
||
\subsection{Butler Gen3} | ||
|
||
\subsection{Butler Gen3} \label{sec:gen3} | ||
|
||
Whether Batch or RSP a butler is available with provenance information which should cover DMS-REQ-0106 and DMS-REQ-0121. | ||
If users do not use the Butler they will not have provenance. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Requirement -0106 is about images, specifically, so that's out of the scope of any Dask-like processing. But -0121 applies equally to user catalog processing and image processing, so a minimal "Here's Dask, here's a pile of Parquet files, have fun" solution won't meet this. I don't think we yet have a specific proposal for how to interpose Butler and PipelineTask into Dask/Spark in such a way as to maintain provenance, but it doesn't seem out of the question. This would need some R&D; perhaps LINCC could help with this. |
||
|
||
\subsection{BPS Batch }\label{sec:bpsbatch} | ||
|
||
Our baseline is user batch based on Gen3 Task framework. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it should say "PipelineTask" - "Task" alone is too thin a layer to be meaningful in this context. |
||
Users needing batch will need to go via the Resource Allocation Committee (\secref{sec:arbitration}) and | ||
will be given SLAC accounts to run user Batch jobs at SLAC. | ||
Those who do not wish to use the Rubin pipelines could be facilitated see \secref{sec:othercode}. | ||
|
||
|
||
We set DP0.2 as an initial test of seeing how we could work with PanDA \citeds{RTN-013} | ||
for DRP. Potentially it could also be used for Prompt Processing and user batch processing. | ||
In fact we use the BPS front end to submit jobs and middleware which to keep BPS working with at least on other back end as well as PanDA. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can this sentence ("In fact ...") be reworded? I am not sure what the message is. That we are designing the BPS system so that it's not too tightly coupled to PanDA? |
||
|
@@ -37,9 +52,21 @@ \subsection{BPS Batch }\label{sec:bpsbatch} | |
This would also cover DMS-REQ-0119, DMS-REQ-0125, DMS-REQ-0128, DMS-REQ-0123, DMS-REQ-0127. | ||
|
||
|
||
\subsection{Arbitration or Resource Allocation Committee}\label{sec:arbitration} | ||
\subsubsection{Non Rubin code} \label{sec:othercode} | ||
Users may wish to run arbitrary code on Rubin images. | ||
It should be possible to provide a butler recipe to get an image or set of images to the users space and allow them to run any code which takes FITS images. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "butler recipe... and allow them" => "PipelineTask-based shim, using in the BPS system, for iterating over a defined set of image data, extracting the images to user space, and allowing the user" |
||
Done in a container this could be done for a large volume of images - it would have to get past the resource allocation committee of course. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If the Parquet shards for the catalogs were also treated as Butler datasets, the same mechanism would allow for batch processing of catalogs with arbitrary user code. |
||
This would require custom work by the user and would not be a general facility. | ||
Run in this mode little provenance would be kept. (See \secref{sec:gen3}) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Run in this mode, without using Butler for user outputs, little ..." |
||
|
||
Some provenance could be garnered by ingesting the generated files which could at least give the execution graph of their creation. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "The shim could be extended with basic support for ingesting output files via the Butler back into the user's personal space; this would provide some elementary provenance, including at least the execution graph of the files' creation." There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we have to require they use the datastore templates for file-naming conventions otherwise we won't know which file goes with which dataId. |
||
If users wish only to write files they would have to go in their user space or potentially a VOSpace end point - the user would need to organize and track such files themselves. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "If users instead wish to write files entirely on their own, they would have to ... - and the user would ..." |
||
|
||
|
||
\subsection{Resource Allocation Committee}\label{sec:arbitration} | ||
As \secref{sec:resources} points out we will need an arbitration committee of some sort. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same comment here: "a Resource Allocation Committee" |
||
It seems this should also favor individuals from under represented and under resourced groups though that is being proposed here for the first time. | ||
womullan marked this conversation as resolved.
Show resolved
Hide resolved
|
||
We note also proposals committing to releasing Level 3 data products that are made available to all data rights holders will also be allowed to be given a preference by the RAC. | ||
The committee is called out in the operations plan \citedsp{RDO-018} Section 12.2 but we have as yet not created a charge for it. | ||
This committee would at least be responsible for creating, implementing and updating policies on at least: | ||
|
||
|
@@ -63,5 +90,5 @@ \subsection{Other catalogs} | |
LINCC may again help here by coordinating IDACs to provide neighbor tables/services for other catalogs. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In this section, it's important to note that "externally provided catalogs" was here intended to mean "catalog data brought to the Level 3 systems by the user, and shouldn't be confused with "external catalogs", which in the community generally means "well-known publicly available catalogs" like Gaia or CatWISE. Therefore it's not a problem that "getting a list has proved fairly inconclusive" - this wasn't meant to be defined in advance, but was part of what a user could submit an RAC request for space to do. A user could say, in 2026, e.g., "I have a list of 1 billion objects from SPHEREx and I want to request 500 GB of space to store that catalog within the RSP to facilitate matching to the Rubin catalogs on Qserv and/or in the Parquet environment -- and here's the science that will enable based on the published performance of that dataset." The RAC would then weigh that against other space requests. Similarly, a user might have personally recomputed (offsite, say at TACC) improved photometric redshifts for 3B objects from the Rubin Object catalog, and want to store those "next to" - and joinable with - the Object table itself. This doesn't invalidate your other points, but it's important context for understanding the original requirement. |
||
One notion would be to have a the Object catalog at IDACs matched to their local holdings. | ||
We could consider migrating some of those neighbor catalogs back to USDF Qserv. | ||
Gaia will be provided as part of the processing - there is no requirement listing catalogs so from a verification perspective we can put this on IDACs | ||
womullan marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
\textbf{How do we answer this fairly open requirement ? Do we say we deliver Gaia matched for construction and will work on an IDAC/LINCC service ?} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,6 +14,8 @@ \subsection{Compute} \label{sec:compute} | |
User batch would therefore have about 1K cores depending on load. | ||
This implies the need for a controlled sharing mechanism (\secref{sec:quotas}). | ||
|
||
It would also be excellent to pursue a research project with an NSF facility (e.g. TACC) into what could be done with Rubin data at such a facility in terms of arbitrary compute. TACC have expressed interest in this. | ||
|
||
|
||
|
||
\subsection{Storage} | ||
|
@@ -38,38 +40,46 @@ \subsection{Quotas and allocation} \label{sec:quotas} | |
This however needs more work. | ||
|
||
|
||
%{\bf In operations should we use all Google Cores for interactive batch Dask/Spark ? Send all PanDA to USDF ? But then we do not have 10\% there since we spent on Google.} - PROBALBY NOT FEASABLE | ||
In operations we propose catalog processing with Dask/Spark goes to Google; | ||
any processing (images or, less often, catalogs) done with BPS goes to USDF batch. | ||
|
||
We will send all batch jobs to USDF. We have some capacity at USDF for this and potentially some spare cycles in the shared data facility. | ||
|
||
\citeds{DMTN-135} table 40 allocates 2PB in year 1 growing to 9PB in year 10 for science user home space. | ||
This is still driven by the original requirement to support 7500 users. Table 40 assumes 5K users in year 1 | ||
yielding a limit of 40GB per user. Of course usage will not be even so we could set the limit higher like 60GB | ||
and monitor what happens. On SDSS we kept the quota low and accepted justified requests to get more - most people kept within the quota by keeping their user space. Its not obvious what a good number is here but perhaps we should start the RSP users on 10GB quota. | ||
and monitor what happens. On SDSS and BaBar the quota was kept low and justified requests to get more were accepted - most people kept within the quota by keeping their user space. Its not obvious what a good number is here but perhaps we should start the RSP users on 10GB quota. | ||
|
||
KT points out on NCSA "9\% (81 of 892) of NCSA home directories had more than 10 GB on 2022-02-07." | ||
This would indicate starting allocation on RSP of 10GB may work for 90\% of users - we can then increase on request for some users. | ||
|
||
Power users who would be some of that other 10\% may be more likely to seek batch production at SLAC in any case. | ||
|
||
|
||
{\bf Should we start user space quota at 10GB ? is there a reason for more ? (or less?)} | ||
|
||
It is not clear we have the technology in place to enforce disk quotas yet. | ||
|
||
\subsubsection{Peak times} | ||
There are going to be known events such as a Data Release which we know will put pressure on the system. | ||
For these event we would want to scale back to basic quotas like 0.5 core per user and disabling DASK or even batch execution. | ||
For these event we would want to scale back to basic quotas like 0.5 core per user and potentially disabling DASK. | ||
We should also experiment with paying for the surge and see if subsequent lulls even out the bill. | ||
The latter approach would allow us to maintain a good service level and would be a more equitable approach since it would | ||
not penalize the users who have no other form of access. | ||
|
||
\subsubsection{Unused home space} | ||
Space on cloud means cost. | ||
If a user is not using their space for long period it should be migrated to cheaper storage. | ||
Along period could be a year but six months seems long enough. | ||
Again we have no mechanism for this - Richard even suggested taking it to USDF but I wonder if cold storage on google is better. | ||
Again we have no mechanism for this - Richard even suggested taking it to USDF but cold storage on google might work. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Google" |
||
|
||
{\bf Should we have user home migration to get un touched home spaces moved off cloud?} | ||
|
||
|
||
\subsection{Other sites}\label{sec:othersites} | ||
SLAC have some potential cores available on site to give more batch possibilities. | ||
|
||
Some science collaborations, most notably DESC, will have their own resources at some center (NERSC for DESC). In the DESC case there are good links between NERSC and SLAC making this easy to manage. | ||
|
||
No NSF facility is currently planned to hold the data. | ||
No NSF facility is currently planned to hold the data. TACC are interested to experiment with us. | ||
|
||
These sites are true batch sites with Slurm workload management. Users would submit jobs with BPS | ||
allowing it to figure out if the Parsl, PanDA for job submission on the back end. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the "this" that is not a requirement? Having a catalog-processing framework at all, or a fancy one?