{'fraction_non_alphanumeric': 0.018293991416309014, 'fraction_numerical': 0.003594420600858369, 'mean_word_length': 5.164351851851852, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Progress on the Fabric for Frontier Experiments Project at Fermilab

The FabrIc for Frontier Experiments (FIFE) project is an ambitious, major-impact initiative within the Fermilab Scientific Computing Division designed to lead the computing model for Fermilab experiments. FIFE is a collaborative effort between experimenters and computing professionals to design and develop integrated computing models for experiments of varying needs and infrastructure. The major focus of the FIFE project is the development, deployment, and integration of Open Science Grid solutions for high throughput computing, data management, database access and collaboration within experiment. To accomplish this goal, FIFE has developed workflows that utilize Open Science Grid sites along with dedicated and commercial cloud resources. The FIFE project has made significant progress integrating into experiment computing operations several services including new job submission services, software and reference data distribution through CVMFS repositories, flexible data transfer client, and access to opportunistic resources on the Open Science Grid. The progress with current experiments and plans for expansion with additional projects will be discussed. FIFE has taken a leading role in the definition of the computing model for Fermilab experiments, aided in the design of computing for experiments beyond Fermilab, and will continue to define the future direction of high throughput computing for future physics experiments worldwide.


Introduction
Fermilab is the leading international laboratory for particle physics research in neutrino physics, and makes key contributions to all of the major physics drivers in high-energy physics research today. The Intensity Frontier (IF) program consists of a diverse set of experiments with different physics goals and different schedule. The current neutrino and future precision Muon experiments in particular require significantly more computing resources than previous-generation experiments in terms of both storage (multi-PB scales) and processing capabilities (millions of CPU-hours per experiment annually.) In spite of their diversity, the IF experiments have a common need for large scale offline computing and access to large amount of data. The need for computing resources is typically in form of constant DC demands with periodic spikes. To handle the peaks in demand, the experiments should be able to seamlessly utilize resources beyond those available at Fermilab. The Fermilab Scientific Computing Division (SCD) is working with experiments to design their computing models to take advantage of the world-class computing facilities and services for distributed computing at Fermilab and within the Open Science Grid (OSG). Incorporating distributed resources into an experiment's workflow has been a significant challenge in the past. The FabrIc for Frontier Experiments (FIFE) [1], aims to meet these requirements and challenges by incorporating existing tools into an integrated computing framework, enabling smooth and rapid on-boarding of new experiments into the computing model. Through this integration of these common tools into the experiments' workflows, coupled with a robust support system, FIFE enables the experiments to have access to more computing resources, and maximize their physics output.

FIFE Collaboration & Computing Needs
Experiments studying neutrino physics, dark matter, or cosmic acceleration (dark energy and inflation) are typically much smaller collaborations than those on collider experiments. There is thus a premium on having a well-supported set of common tools available that meets the experiments' major computing needs. The major needs of these experiments are: 1. Job submission and monitoring tool: A common submission framework that supports submitting any type of job that the user needs (reconstruction, simulation, custom executable) as well as tools to easily monitor job progress and understand any issues that may arise. 2. Ability to easily utilize offsite resources: In order to meet the peaks in demand for computing resources in an efficient and cost effective way, it is important that users are able to access as many opportunistic resources as possible on the OSG. In addition to that users should be able to acquire resources in community clouds like FermiCloud [9] and commercial clouds like Amazon Web Services (AWS). This functionality should be built in to the job management infrastructure. 3. Onboarding and support efforts: It is more important than ever for experiments to get off to a fast start and be ready for first data. The experiments also need a well-defined onboarding procedure and a robust support network so that they can integrate the FIFE-supported tools and services quickly, and have help adapting to any changes that may come in the future. 4. Commonality across the experiments: It is quite common scenario where a given user is associated with multiple experiments. Having a common toolset means there is no need to learn entirely different systems for different experiments, saving time and effort for all collaborators. Common toolset and infrastructure drastically decreases the time spent on code development by a specific experiment and also simplifies the support model for service providers. 5. Common data handling tools: Easy-to-use data movement tools that are integrated with existing data cataloguing services, provide transparent access to storage. 6. Modular architecture: The FIFE project deals with a wide variety of tools that can cover nearly the entire range of computing services, but experiments may want or need to use custom solutions for various parts of their workflow. The project should enable use of these custom solutions where necessary by adapting a modular architecture that enables experiments to adopt only the tools that they need.

FIFE Architecture
Components of the FIFE architecture can be divided into 5 main categories - framework. The scisoft.fnal.gov has source code, pre-built binaries, and deployment and build tools for Art-based software. The experiment software is made available to the jobs running in grids and clouds using CVMFS. 5. Batch Computing: This forms the workload management layer of the FIFE architecture. It contains software tools used for job submission and provisioning of resources on grids and clouds.

Job Submission using JobSub
JobSub is a common suite of tools used by the FIFE experiments to simplify and manage job submission. It defines common interfaces for experiments by integrating complex grid tools and automating several mundane tasks during the job submission phase. JobSub interfaces with [10] batch system used by the FIFE experiments to provide a job submission abstraction layer for running and submitting scientific workflows.

JobSub Tools:
JobSub tools software was the first set of job submission and management package designed and developed for the FIFE experiments. The simplistic architecture of the JobSub tools is shown in figure 1. The JobSub tools package provided most of the required job submission functionality however; its monolithic design specific to the deployment had several drawbacks. The increase in the adaptation of these common submission tools exposed scalability and reliability issues with the system. The design also presented significant challenges supporting new experiments, during the on-boarding stage.

JobSub:
Despite its limitations, JobSub tools provided most of the required functionality. In order to make the submission system scalable and address its shortcomings described above, the job submission software was re-architected using client-server architecture in 2014 as shown in figure 3. JobSub is the next generation of the job submission software and is the successor to the JobSub tools. In order to keep the user interface similar to its predecessor, the Jobsub tools, the functionality of the JobSub tools was migrated to a server-side web application running under an Apache and CherryPy server. This enabled the use of thin client product, JobSub client, responsible for relaying the client requests to the server using REST interface. The client-server design is quite modular and makes it easier to replace different components in the system without impacting the overall architecture of the submission system.
The client-server architecture of the Jobsub also improved the scalability of the submission infrastructure. Several JobSub servers can be configured in a highly available manner. This clientserver architecture also supports a pluggable authentication and authorization scheme that can interface with the site-wide authentication/authorization infrastructure involving the Grid User Management Service (GUMS) and the Virtual Organization Management Service (VOMS). The security plugins in the JobSub server are also responsible for refreshing the credentials used by jobs. It achieves this by using a different set of credentials for job submission than those used by the client to authenticate with the JobSub servers. Figure 2 describes various steps involved in the authentication/authorization of a client by the server. When a client authenticates with the JobSub server it provides the X509 DN and FQAN to the server. JobSub server uses this information to authorize the client against a site-wide GUMS server and gets the mapped user name for the client. For each mapped user name, JobSub server maintains a different set of X509 credential, DN', that is used to submit the jobs. This two-credential system enables complete automation of credential management used for job submission on the server side.  Figure 3 shows different components of the workload management infrastructure used by the FIFE experiments. The job submission tool, JobSub, described above depends on the GlideinWMS to provision resources on grids, clouds and local computing farms. GlideinWMS is a pilot-based workload management system that creates on demand a dynamically sized overlay HTCondor batch system on grid and cloud resources to address the complex needs of VOs in running application workflows. Detailed description of the GlideinWMS can be found in [3][4].

Data Handling
The FIFE experiments use a storage element independent service, Serial Access via Metadata (SAM), which is a robust and mature file catalogue, delivery and tracking system developed at Fermilab. In order to meet the requirements of the next generation of experiments and remove the dependency on obsolete technologies like CORBA, SAM has been revamped to a web-based interface (SAMWeb) [5] that allows for greater integration with offsite resources like those in OSG and clouds. The FIFE experiments use a common datahandling tool, Intensity Frontier Data Handling tool (IFDH) that is designed to provide access to all Fermilab storage elements through a single interface as shown in figure 4. Essentially IFDH acts as a "Last Mile" of data handling [6] by resource brokering to keep any storage element from becoming overloaded while minimizing worker idle time waiting for resource tokens.
In the past year, FIFE experiments, especially NOvA have been actively looking at the community and commercial clouds to meet their peak computing demands. However, running data intensive workflows in clouds introduces significant wait time to ship data between the compute resource and the storage element remote to the cloud providers. In order to efficiently utilize the commercial clouds, namely AWS, IFDH was recently extended to interface with Amazon S3 storage element. This greatly increased the efficiency of running data intensive workflows in AWS.

CVMFS for software and auxiliary files distribution
FIFE experiments use the CernVM File System (CVMFS) [7] to distribute the experiment specific software to local, grid and cloud resources. CVMFS is a network file system based on HTTP and optimized to deliver experiment software in a fast, scalable, and reliable way. CVMFS utilizes a network of Squid servers connected in a hierarchical fashion to deliver the content.
During the past year, FIFE worked very closely with the OSG to set up a FIFE managed instance of CVMFS in the OSG Application Software Installation Service (OASIS). Rigorous use of CVMFS by the FIFE experiments exposed a software synchronization issue: it can take significant amount of time to synchronize files into the one shared OASIS repository and that often resulted in long wait times before jobs could access updated software. This problem was addressed by hosting remote CVMFS repositories within the OASIS trust realm. As a result, synchronization happens at the per experiment level on a fast locally managed machine, which drastically reduced job wait times. Along with the software distribution, FIFE also proto-typed a solution using the alien cache feature in CVMFS to distribute large auxiliary data files. These auxiliary data files are in some ways similar to software in that they do not change very often and they are accessed by many jobs, but not all jobs in a batch access the same files. In a traditional CVMFS deployment of software, caching is provided using slow storage disks but high performance is achieved through high reuse of file system memory caches. Lower reuse access patterns of the auxiliary data in certain workflows resulted in sluggish performance when using the infrastructure designed for software. Instead, alien cache utilizes fast data storage elements located at a site and accessed over the network, bypassing the slow disks on both the worker nodes and the Squids. A separate repository can be configured to deliver data to these local fast storage elements. This scheme drastically improved the performance of certain workflows. Details of this work can be found in [8].

Monitoring and Accounting
It is crucial for the experiments and FIFE support team to be able to monitor submitted workflows. Users should be able to monitor the running and queued jobs on various sites, execution status, job efficiency, and access to the storage. FIFE provides a monitoring tool (FIFEMon) that collects and exposes a user-centric set of information regarding submitted tasks including but not limited to reason of failure, execution sites, system resources like CPU & memory consumed, job efficiency etc. The job files consumptions could be seen via SAMWeb monitor, the rate and status of files transfer could be monitored via dCache. Accounting is another crucial aspect of the WMS infrastructure. A Grid Accounting service (Gratia) collects data related to resource utilization and identity of users using resources. It is important for verifying pledged resource allocation per particular groups and users, providing reports for funding agencies and resource providers, understanding hardware provisioning requirements. It is also used to understand historical trends, identify underperforming sites, and identify owners of low efficient jobs. Figure 5 shows the CPU usage of FIFE experiments in past one year.

Future Work
During the last two years FIFE support-team helped on-board several FIFE experiments. The current status of each experiment is listed in the Table 1.

Use cases
Each FIFE experiment is on a different schedule and hence in a different stage of the on-boarding process. The FIFE support group is working closely with the experiments to enable them to run in OSG and Clouds when they are ready to run their workflows on the computing resources. Below we highlight three of the interesting use cases FIFE support group has been working on.

NOvA:
Amongst the FIFE experiments, NOvA has been on the forefront in adopting the grid and cloud resources for their computing needs. In past year, Nova workflows used 2.5 M hours from offsite and cloud resources. In 2015, Nova plans to run 2.1 M hours of simulation on AWS itself. This is about 20% of annual Nova's computing usage.

MU2E:
The MU2E experiment is still many years from taking data. The experiment is in a design and review cycle heavily relying on Monte Carlo simulations needed for detector design. The goal is to run up 15 million wall clock hours between April and September 2015. Most of these workflows have low IO requirements thus good candidates for opportunistic resources in the OSG. The FIFE support group has been working extensively with the experiment and the OSG sites to enable the experiment workflows to run on different sites. So far, the MU2E experiment has been successfully using 13 OSG sites to run their workflows.

DUNE:
The DUNE collaboration is large in size and quite diverse in nature. Working groups support. Much of the effort is focused on software development and testing and large Monte Carlo simulation runs are performed in order to characterize different beamline and detector design choices.  Depending on the workload, locations of resources and their convenience of use, some computational work is performed using FIFE infrastructure, while other work is performed using resources and services provided by other collaborating institutions. This mixture of resources and tools presents the FIFE group with unique set of challenges in supporting an international collaboration of this magnitude. Job submission and data management tools in the FIFE infrastructure already play a major role in the DUNE computing operations. However, more work is required at the security and policy level to support and integrate resources from different major institutions in the collaboration.

Conclusion
The FIFE project is an ambitious, major-impact initiative within the Fermilab's scientific computing division. In the past year, as a part of the project, job submission layer and the data handling layer in the FIFE architecture has under gone significant changes to support new functionality. A streamlined onboarding process devised by the FIFE fosters closer interaction of the scientific community and the computing experts has resulted in faster turnaround time to enable the experiments to use onsite and offsite resources for their computing needs. Adaptation and use of common software tools for workload management and data management has further reduced the learning curve for the experiments and has simplified the support model for the FIFE project. As shown in the figure 5, this success is highlighted by the amount of computing resources utilized by the FIFE experiments during past year.

Acknowledgments
Fermilab is operated by Fermi Research Alliance, LLC under Contract number DE-AC02-07CH11359 with the United States Department of Energy.