SAGA Use Case Template: ======================= Name of use case: KMC - Kinetic Monte carlo Model Contact (name and address): philippe@lifc.univ-fcomte.fr Authors (if different form contact) Christophe Ramseyer (Université Besancon - France) 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: ................................... 1.2 Application area: Astronomy [ ] Particle physics [X] Bio-informatics [ ] Environmental Sc. [ ] Image analysis [ ] Other [ ] Please specify: ................................... 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 [3] Security [ ] Resource discovery [ ] Resource scheduling [ ] Workflow [ ] Data movement [ ] High Throughput Computing [ ] High Performance Computing [5] Other [ ] Please specify: ................................... 1.4 Are you an: Application user [ ] Application developer [ ] System administrator [ ] Service developer [ ] Computer science researcher [X] 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). This application simulate growth of atomic species on surface. This physical experiment is mainly governed by for random processes : deposition, diffusion, aggregation and desorption. Its main application is wires and gratings for electronic transport and quantun switches. This experience is simulated by a Kinetic Monte Carlo Model which simulated the comportement of the atoms depending on the properties of the surface. Input and output rather small sized. Computing may be very long (from one day to one month). Interaction is mandatory to verify the simulation evolution. 2.2 Is there a URL with more information about the project ? not for the moment 3. Use Case to Motivate Functionality Within a Simple API: ---------------------------------------------------------- o Source code of KMC is not distributed for customer installation. o job submission may be synchronous : the customer send a set of parameters and check if the result is relevant. o job submission may be asynchronous : the customer send several sets of parameters and compare a posteriori the results at the end of the jobs executions. 4. Customers: ------------- Customers are physicians without computer science experience. They access the KMC application to test a surface, differents parameters of presure, temperature or grating. 5. Involved Resources: ---------------------- 5.1 List all the resources needed: e.g. what hardware, data, software might be involved. - hardware : parallel machine / cluster - software : Diet, Corba, KMCsolver - visualisation tools : standard image tools or video players 5.2 Are these resources geographically distributed? no 5.3 How many resources are involved in the use case? E.g. how many remote tasks are executing at the same time? 5.4 Describe your codes and tools: KMC code is not distributed, just installed on three servers. It is written in fortran 5.5 What information sources do you require, e.g. certificate authorities, or registries. no 5.6 Do you use any resources other than traditional compute or data resources, e.g. telescopes, microscopes, medical imaging instruments. no 5.7 How often is your application used on the grid or grid-like systems? [ ] Exclusively [ ] Often (say 50-50) [x] Ocassionally on the grid, but mostly stand-alone [ ] 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). access to KMC is available through a servlet in a 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? no resources are selected by users, everything is done by the execution plateform 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? by performances evaluation, CPU and network load, Diet features. 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? executable code 8.2 Do you have any existing security framework, e.g. Kerberos 5, Unicore, GSI, SSH, smartcards? no 8.3 What are your security needs: authentication, authorisation, message protection, data protection, anonymisation, audit trail, or others? data protection + authentification 8.4 What are the most important issues which would simplify your security solution? Simple API, simple deployment, integration with commodity technologies. simple API 9. Scalability: --------------- What are the things which are important to scalability and to what scale - compute resources, data, networks ? the application is not parallelised, such we just need several nodes in case of multiple submissions. 10. Performance Considerations: ------------------------------- Explain any relevant performance considerations of the use case. as the application is not parallel, and the parameters are small sized, just the performance of the executing computer is to considerate for performances. 11. Grid Technologies currently used: ------------------------------------- If you are currently using or developing this scenario, which grid technologies are you using or considering? Diet 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. It could be interesting for the server to declare functions (or a table of functions) for interactivity between client and server. For instance, the client could be able to invoc a function during the application execution. 13. References: --------------- List references for further reading. ... --------------------------------------------------------------------