-------------------------------------------------------------------- SAGA Use Case Template: ======================= Name of use case: .LAMMPS............................... Contact (name and address): ...Jean-Louis Barrat (barrat@lpmcn.univ-lyon1.fr) Authors (if different form contact) ...Steve Plimpton............................. 1. General Information: ----------------------- This section consists of check-boxes to provide some context in which to evaluate the use case. 1.1 Which best describes your organisation: Industry [ ] Academic [x] Other [ ] Please specify: ......University of Lyon............................. 1.2 Application area: Astronomy [ ] Particle physics [ ] Bio-informatics [ ] Environmental Sc. [ ] Image analysis [ ] Other [ x] Please specify: ..........Materials science......................... 1.3 Which of the following apply to or best describe this use case Multiple selections are possible, please prioritize with numbers from 1 (low) to 5 (high): Database [ ] Remote steering [ ] Visualization [ ] Security [ ] Resource discovery [ ] Resource scheduling [ ] Workflow [ ] Data movement [ ] High Throughput Computing [ ] High Performance Computing [x] Other [ ] Please specify: ................................... 1.4 Are you an: Application user [x] Application developer [ ] System administrator [ ] Service developer [ ] Computer science researcher [ ] Other [ ] Please specify: ................................... 2. Introduction: ---------------- 2.1 Provide a paragraph introduction to your use case. Background to the project is another alternative. (E.g. 100 words). LAMMPS is a classical molecular dynamics code that models an ensemble of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, metallic, or granular systems using a variety of force fields and boundary conditions. LAMMPS runs efficiently on single-processor desktop or laptop machines, but is designed for parallel computers. It will run on any parallel machine that compiles C++ and supports the MPI message-passing library. This includes distributed- or shared-memory parallel machines and Beowulf-style clusters. LAMMPS can model systems with only a few particles up to millions or billions. The current version of LAMMPS is written in C++. In the most general sense, LAMMPS integrates Newton's equations of motion for collections of atoms, molecules, or macroscopic particles that interact via short- or long-range forces with a variety of initial and/or boundary conditions. For computational efficiency LAMMPS uses neighbor lists to keep track of nearby particles. The lists are optimized for systems with particles that are repulsive at short distances, so that the local density of particles never becomes too large. On parallel machines, LAMMPS uses spatial-decomposition techniques to partition the simulation domain into small 3d sub-domains, one of which is assigned to each processor. Processors communicate and store "ghost" atom information for atoms that border their sub-domain. LAMMPS is most efficient (in a parallel sense) for systems whose particles fill a 3d rectangular box with roughly uniform density. 2.2 Is there a URL with more information about the project ? http://www.cs.sandia.gov/~sjplimp/lammps 3. Use Case to Motivate Functionality Within a Simple API: ---------------------------------------------------------- Provide a scenario description to explain customers' needs. E.g. "move a file from A to B," "start a job." Please include figures if possible. If your use case requires multiple components of functionality, please provide separate descriptions for each component, bullet points of 50 words per functionality are acceptable. ... Customer needs to create a trajectory starting from an input configuration and an input script, and to have access later to the created trajectory for analysis. the trajectory may represent an important amount of data and should pre An output configuration ferably be kept on the server that was used for the calculation. An output configuration and runtime flow traces should be returned to the user. 4. Customers: ------------- Describe customers of this use case and their needs. In particular, where and how the use case occurs "in nature" and for whom it occurs. E.g. max 40 words ... 5. Involved Resources: ---------------------- 5.1 List all the resources needed: e.g. what hardware, data, software might be involved. Departmental servers at University of Lyon, ENS Lyon, and national resource centers ... 5.2 Are these resources geographically distributed? Yes ... 5.3 How many resources are involved in the use case? E.g. how many remote tasks are executing at the same time? 1 5.4 Describe your codes and tools: what sort of license is available, e.g. open or closed source license; what sort of third party tools and libraries do you use, and what is their availablility; do you regularly work from source code, or use pre-compiled applications; what languages are your applications developed in (if relevant), e.g. Fortran, C, C++, Java, Perl, or Python. Code distributed under GPL licence ... 5.5 What information sources do you require, e.g. certificate authorities, or registries. ... 5.6 Do you use any resources other than traditional compute or data resources, e.g. telescopes, microscopes, medical imaging instruments. ... 5.7 How often is your application used on the grid or grid-like systems? [ ] Exclusively [ ] Often (say 50-50) [ ] Ocassionally on the grid, but mostly stand-alone [x] Not at all yet, but the plan is to. 6. Environment: --------------- Provide a description of the environment your scenario runs in, for example the languages used, the tool-sets used, and the user environments (e.g. shell, scripting language, or portal). ... 7. How the resources are selected: ---------------------------------- 7.1 Which resources are selected by users, which are inherent in the application, and which are chosen by system administrators, or by other means? E.g. who is specifying the architecture and memory to run the remote tasks? number of processors is selected by users memory needs are determined by the application but can be estimated by the user. ... 7.2 How are the resources selected? E.g. by OS, by CPU power, by memory, don't care, by cost, frequency of availability of information, size of datasets? CPU power is the most important criterion ... 7.3 Are the resource requirements dynamic or static? dynamic ... 8. Security Considerations: --------------------------- 8.1 What things are sensitive in this scenario: executable code, data, computer hardware? I.e. at what level are security measures used to determine access, if any? no security required for academic use ... 8.2 Do you have any existing security framework, e.g. Kerberos 5, Unicore, GSI, SSH, smartcards? ... 8.3 What are your security needs: authentication, authorisation, message protection, data protection, anonymisation, audit trail, or others? ... 8.4 What are the most important issues which would simplify your security solution? Simple API, simple deployment, integration with commodity technologies. ... 9. Scalability: --------------- What are the things which are important to scalability and to what scale - compute resources, data, networks ? ... 10. Performance Considerations: ------------------------------- Explain any relevant performance considerations of the use case. ... 11. Grid Technologies currently used: ------------------------------------- If you are currently using or developing this scenario, which grid technologies are you using or considering? ... 12. What Would You Like an API to Look Like? -------------------------------------------- Suggest some functions and their prototypes which you would like in an API which would support your scenario. ... 13. References: --------------- List references for further reading. ... --------------------------------------------------------------------