The ATHA Environment: Experience with a User Friendly Environment for Opportunistic Computing M.A.R.Dantas Department of Informatics (INE) University of Santa Catarina (UFSC) 88040-900 – Florianopolis – Brazil Email : mario@inf.ufsc.br A. Hosken Department of Computer Science (CIC) University of Brasilia (UnB) Brasilia – Brazil Agenda I. RESEARCH MOTIVATION II. OPPORTUNISTIC COMPUTING III. The ATHA ENVIRONMENT IV. EXPERIMENTAL RESULTS V. CONCLUSIONS AND FUTURE WORK Agenda I. RESEARCH MOTIVATION II. OPPORTUNISTIC COMPUTING III. The ATHA ENVIRONMENT IV. EXPERIMENTAL RESULTS V. CONCLUSIONS AND FUTURE WORK I. RESEARCH MOTIVATION • It is observed that the number of computers connected to the Internet is growing for a long period of time ; •Researches mentions that it is difficult to estimate when this trend will reverse; •Similar to the Internet, the same phenomenon is verified inside several organisations; •Many researchers investigate the possibility of using a large amount of resources as a useful metacomputer. I. RESEARCH MOTIVATION •Several distributed packages have demonstrated the efficiency to execute complex problems, even considering the ordinary Internet as a distributed computing configuration; •It is interesting to observe that some aspects of the computational environment, such as latency of the network and co-execution of processes, may preclude the use of opportunistic computing for certain applications. I. RESEARCH MOTIVATION The opportunistic computing approach considers the use of spare computational resources to execute applications which could not be solved locally. The main goal of this paradigm is to gather available heterogeneous distributed resources in computer network environments to execute distributed and/or parallel applications. I. RESEARCH MOTIVATION In this talk, we present experience with a user friendly environment for opportunistic computing for parallel and distributed applications in a computer network. The configuration is called as ATHA. Agenda I. RESEARCH MOTIVATION II. OPPORTUNISTIC COMPUTING III. The ATHA ENVIRONMENT IV. EXPERIMENTAL RESULTS V. CONCLUSIONS AND FUTURE WORK II - OPPORTUNISTIC COMPUTING In the literature it is possible to find several research projects, where the main focus is the efficient utilization of spare loosely couple resources. These projects different from a cluster (or grid) approach target to gather available disposable computing resources from users (i.e. other users and organizations) free of charge. In other words, when we consider the use of a cluster (or a grid) configuration we understand that we pay for it. II - OPPORTUNISTIC COMPUTING In the opportunistic approach we plan to execute our applications considering available spare resources from other users. This approach can be interesting even inside an organization, using the private Internet of the institution. In addition to that, it is important to mention that some patterns are required for this utilization. Special parameters such as operating system, memory and disk space requirements are some metrics that an opportunistic framework needs to address. The goal is to have enough information to form dynamic configurations to execute parallel applications. Agenda I. RESEARCH MOTIVATION II. OPPORTUNISTIC COMPUTING III. The ATHA ENVIRONMENT IV. EXPERIMENTAL RESULTS V. CONCLUSIONS AND FUTURE WORK III - The ATHA ENVIRONMENT The ATHA environment for opportunistic computing is an enhanced configuration based in our previous research work. In the configuration we use Java language, because of the portability and it allows some interesting classes (e.g. JCE, Java cryptography extension) that help with digital signature and cryptography. ATHA environment for opportunistic computing tasks missio n 1 state 1 State1 Master 1 tasks Work erInf o load taska State2 shado w state2 Master 2 result Worke rs Hand held IBM Compatible Cray Supercomputer iMa Clust er Legio n Lapto p Workstat ion Cond or Glob us Mainfra me Following our initial goal, we built an interface which could allow users to submit several services to servers, examples are: • process new tasks, • gather load information, • provide information of executed applications, • inform about the system availability. The main ATHA interface Agenda I. RESEARCH MOTIVATION II. OPPORTUNISTIC COMPUTING III. The ATHA ENVIRONMENT IV. EXPERIMENTAL RESULTS V. CONCLUSIONS AND FUTURE WORK IV - EXPERIMENTAL RESULTS In order to verify our proposed opportunistic framework, we tested the package in a large organization during a daytime period. The target was to gather as much as possible spare machines to execute the RSAChallenge parallel application. The Distributed Environment •Processor Architecture •IA32 •Clocks •450,700,800,1800 MHz •Cache •512kB •Memory •64,128, 256 MB •Switch Throughput •10-100 MBPS •Operating Systems •Windows 98, 2000 e XP One feature that is present in the ATHA interface is a non intrusion characteristic for the owner of local resources. In other words, we avoided disturbing owners of the available resources. Therefore, we start to apply this concept executing a serial Linpack benchmark to provide each machine with a weight parameter for performance. In other words, we built a table of load indices for the machines of the environment. Next figure shows individual performance of processors that we choose to gather resources. Individual Performance 100 90 80 70 10.67.12.107 60 10.67.12.113 10.67.12.116 MFlops 10.67.12.62 50 10.67.12.75 10.67.12.84 10.67.12.89 40 127.0.0.1 30 20 10 0 00:00 00:20 00:40 Time 01:00 01:20 The next figure presents some details when machines enter into the pool of available resources (i.e. idle status), and when these computers become heavy loaded (i.e. busy) to execute our benchmark. It is interesting to note that the ATHA environment considers every available machine when it was possible to provide computation aggregation. However, when a local user starts to use their machines the processor was no longer consider into the configuration. Global Performance (Linpack) 300 10.67.12.6 2 busy 10.67.12.8 9joint execution 10.67.12.6 2 idle 250 200 10.67.12.10 7 10.67.12.10 7 idle idle 150 10.67.12.10 7 Mflops 100 busy 10.67.12.10 7 busy" 50 0 0:00 0:20 Time 0:40 1:00 1:20 The amount of keys that were tested are shown in the next figure, considering the use of our opportunistic approach. This figure illustrates that we were able to test more then a million keys of the RSAChallenge parallel application. Without the ATHA environment a special (or dedicated) machine should be available to execute this application. The environment was able to process at a peak a number of million and seven thousand keys. % of Execution 1.100.000 1.000.000 1.007.396 900.000 800.000 average average 700.000 600.000 Mflops 500.000 400.000 300.000 200.000 100.000 0 0:00 0:20 Time 0:40 1:00 1:20 Agenda I. RESEARCH MOTIVATION II. OPPORTUNISTIC COMPUTING III. The ATHA ENVIRONMENT IV. EXPERIMENTAL RESULTS V. CONCLUSIONS AND FUTURE WORK CONCLUSIONS The ATHA environment has proved to be successful executing a parallel application in a real organization and obtained interesting results. As an improvement for the framework we are building new mechanisms to analyze more precisely workloads of the machines. FUTURE WORK We are considering : • execute several other applications from the organization; •a version of the ATHA framework for executing in mobile devices; Questions ?