Introduction to Grid Computing to students attending Concurrent and Distributed Programming courses Zaharije Radivojević School of Electrical Engineering Belgrade University 8th Workshop “Software Engineering Education and Reverse Engineering” Durres, Albania 8 – 13 September 2008
DAAD Sept /16 Agenda Part I: Overview –Concurrent and Distributed Programming –Grid Computing –SLEEP Simulator Part II: - Solution usage –Laboratory exercises –Performance analysis –Teaching results
Overview
DAAD Sept /16 Concurrent and Distributed Programming Objectives –Introducing basic concepts of distributed and concurrent programming to students –Introducing different levels of abstraction into concurrent and distributed programming –Qualifying students for writing concurrent and/or distributed applications for most common problems using different techniques
DAAD Sept /16 Concurrent and Distributed Programming Basic Concepts Processes and Synchronization Semaphores Regions Monitors Message Passing Remote Procedure Call Grid computing
DAAD Sept /16 Grid Computing “An infrastructure that enables flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions and resources” Grid computing is a form of distributed computing whereby a "super and virtual computer" is composed of a cluster of networked, loosely-coupled computers, acting in concert to perform very large tasks.
DAAD Sept /16 Grid Computing Goal of Grid Computing is to gain the massive processing power and to applied it to business problems The goal is obtained throughout Virtual Organizations that share computers, storage and networking resources A Grid Computing infrastructure manages running jobs Requires special middleware in order to obtain services (CE/SE/MON/UI/BDII/WN)
DAAD Sept /16 SLEEP Simulator SLEEP Simulator is a visual interactive general purpose discreet event simulator The main goal of this simulator is to simulate digital circuits made in VLSI technique for educational purposes Developed during at School of Electrical Engineering Belgrade University Gridified during at School of Electrical Engineering Belgrade University during SEE-GRID 2 project
DAAD Sept /16 LG – Logic PH – Physic PR – Presentation SM – Simulation EX – Execution SLEEP Library Structure
DAAD Sept /16 Implementation Details Distributed Programming –Using java.net and java.rmi packages Distributed Processing –Distributed “Bag of Tasks” Concept –Initial static component distribution - Dependences Distributed Synchronization –Distributed Barrier concept –Iteration Synchronization (Heart Beating Algorithm) Optimistic Approach
Solution usage
DAAD Sept /16 Laboratory Exercises Laboratory Exercises Organization –Integrated Environment (java.util, java.io, java.rmi, java.net) –Distributed Application Skeleton Design –Common Programming Errors (Creating, Detecting and Eliminating)
DAAD Sept /16 Laboratory Exercises Concurrent Programming –Single VM – multi threads, –“Message Box” concept Network Programming –Client Server Communication –SLEEP Library Remote Methods Calls –Java.rmi, basics of security GRID tehnologija –N-Body Gravitational Problem
DAAD Sept /16 Performance Analysis Students Project AEGIS05-ETFBG –28 WN, 100Mb/s –GRID servisi CE/SE/UI/MON/BDII
DAAD Sept /16 Teaching results Qualitative Assessment –Anonymous Questionnaire –Course grade moved from “Good” to “Very Good” –Laboratory exercises are “Very Useful” Quantities Assessment –Project impact final score –Evaluation Criteria: Overall score excluding laboratory exercises topics –Increased number of students with > 50% –High scores incensement –Averaged Score increased for 0.56
Thank You For Your Attention! Zaharije Radivojević School of Electrical Engineering Belgrade University