400 likes | 866 Views
Grid Computing Framework. A Java framework for managed modular distributed parallel computing. Grid Computing Framework. Presentation Plan. Discussion on distributed computing (Concept, examples, insight) What are we doing (new?) (Our concept, innovation, vision)
E N D
Grid Computing Framework A Java framework for managed modular distributed parallel computing
Grid Computing Framework Presentation Plan • Discussion on distributed computing (Concept, examples, insight) • What are we doing (new?) (Our concept, innovation, vision) • Who is doing what (Technical details, responsibilities, SE Practices) • What remains to be done (Or as they say – ‘future scope’) Abhishek Ganguly | Apoorv Pandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (problem classes) • SIMD(Single Instruction Multiple Data)Used mostly in DSP i.e.Digital Signal Processing applications Bass Boost Left | Center | Right Abhishek Ganguly | Apoorv Pandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (problem classes) • SIMD(Single Instruction Multiple Data) • MISD(Multiple Instruction Single Data)Very few actually use or implement this aspect of parallelismTask replication systems may use this technique for fault tolerance or error masking etc Abhishek Ganguly | Apoorv Pandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (problem classes) • SIMD(Single Instruction Multiple Data) • MISD(Multiple Instruction Single Data) • MIMD(Multiple Instruction Multiple Data)Most commonly adopted distributed processing strategy Abhishek Ganguly | Apoorv Pandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (Solution Approaches) Abhishek Ganguly | Apoorv Pandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (Solution Approaches) Centralized parallelism Common Die (Multi Core) Common Board (Multi Processor) Common Memory (RAM) Abhishek Ganguly | Apoorv Pandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (Solution Approaches) Centralized parallelism Multi Core • Common Die or Chip.Everything on a single Chip. • Common System bus. • Common L2 cache • Individual L1 cache • Individual Register file • Individual ALU • May or may not share a common Clock Common Die (Multi Core) Common Board (Multi Processor) Common Memory (RAM) Abhishek Ganguly | Apoorv Pandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (Solution Approaches) Multi Processor • Common Motherboard • Common OS instance • Common RAM • Individual Clock • Individual System Bus • Individual RAM access • Higher Throughput than multi core • Higher power consumption than multi core Common Die (Multi Core) Common Board (Multi Processor) Common Memory (RAM) Abhishek Ganguly | Apoorv Pandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (Solution Approaches) Distributed parallelism Reduced Coupling AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (Solution Approaches) Distributed parallelism – SUPER COMPUTER • Highly coupled systems with specialized hardware built for the purpose • May be composed of hundreds of motherboards, each housing multiple CPUs • RAMs spread all over the housing • Interconnected by special high speed bus (Network) • Each board may have its own copy of the OS. • Requires • Special OS • Special software to run atop it • Special programming methodology AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (Solution Approaches) Distributed parallelism – CLUSTERS • These fall between super computers and grid computers • These are networked computers • Computers are connected through high speed LAN • Each computer has its own instance of OS running for it • These are the highest deployed distributed systems. • Uses • Load balancing (as in web servers) • Availability, Robustness, fail-safe (DNS serves) • Throughput increase (database clusters) AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Discussion on distributed computing Parallel Processing (Solution Approaches) Distributed parallelism – GRID COMPUTERS • Most diffused, heterogeneous and independent form of multi node alliance. • Components of a grid computer can be anything from a commodity PC to clusters of supercomputers. • Components can be located al over the globe. • Internet is the basic networking medium between the components. • Requires • Special programming technique • Specially written software • Extensive GRID framework AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Discussion on distributed computing Grid Computer Architecture Grid User (Programmer) Grid Coordinator Server Workers AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Discussion on distributed computing Grid Computer Architecture AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Discussion on distributed computing Grid Computer Architecture AbhishekGanguly | ApoorvPandey
Grid Computing Framework – What are we doing (new?) Project Proposal To implement such a distributed framework in java To adapt java multi-threading concepts for scalable distributed computing AbhishekGanguly | ApoorvPandey
Grid Computing Framework – What are we doing (new?) Implementing Distributed Framework User Program User Sub-Program User Sub-Program Grid API Grid API Grid API Grid Frame Work Grid Code Grid Code Grid Code Grid Code JVM JVM JVM JVM Machine Machine Machine Network AbhishekGanguly | ApoorvPandey
Grid Computing Framework – What are we doing (new?) Implementing Distributed Framework User Program User Sub-Program User Sub-Program Grid API Grid API Grid API Grid Frame Work Grid Code Grid Code Grid Code Grid Code JVM JVM JVM JVM Machine Machine Machine Network AbhishekGanguly | ApoorvPandey
Grid Computing Framework – What are we doing (new?) Adapting Multi Threading Concepts Common Java Code AbhishekGanguly | ApoorvPandey
Grid Computing Framework – What are we doing (new?) Adapting Multi Threading Concepts Grid Aware java Code AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Functional Objectives Research Design Coding Testing by using AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Research on existing work Basic understanding of parallel computing Abhishek & Apoorv MPI, Java RMI , Directory and Naming services Apoorv Object Serialization, CORBA, Dot net Remoting Apoorv Existing grid computing frameworks. BOINC, OPEN-Grid, Abhishek Distributed file systems, Distributed Synchronization Abhishek AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design System Architecture Client Job Server Worker AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design Clientuses Grid API System Architecture • org.accurate.grid • org.accurate.grid.Job Job Runnable Serializable Thread Client void start() void Run() void join() Job Server Worker AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design Server System Architecture Manages job Queue Client & Manages Completed jobs’ bin Job Server Worker AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design Server System Architecture Manages job Queue >> JobServer.submitJob( Job j ); Client & Manages Completed jobs’ bin Job Server Worker AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design Server System Architecture Manages job Queue Client & Manages Completed jobs’ bin Job Server Worker >> Job j=JobServer.getJob() AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design Server System Architecture Manages job Queue Client & Manages Completed jobs’ bin Job Server Worker >> JobServer.doneJob( Job j ) AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design Server System Architecture Manages job Queue >> Job j =JobServer.getCompleted(this) Client & Manages Completed jobs’ bin Job Server Worker AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design Data Flow Diagram 0 Grid Framework Jobs Completed Results AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Who is doing what, Technical details etc Software Design Data Flow Diagram 1 User Program User Program Code block 1.1 Job Creation 1.3 Job Execution 1.2 Job Queuing and dispatching Child job modules ` ` ` ` Completed Job Store Job Queue AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Future Scope All that remains to be done Virtual distributed file system. A distributed file system for high volume data interchange Dedicated application servers. So that long running applications do not require their originating PCs to stay on. Integration with existing grid computing systems. So that jobs can be interchanged between them. Automatic parallelization. So that code can be parallelized without explicit programmer effort. AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Future Scope All that remains to be done… Wrapper to precompiled code So that precompiled modules can be reused without reengineering Worker credit tracking So that workers can be gifted benefit a/c to work they do Standardization of API So that programmers of different platforms can feel comfortable. AbhishekGanguly | ApoorvPandey
Grid Computing Framework – References • 90% of the research material has been obtained from the internet • And rest 10% from text books • Text Books: • Herbert Schildt, Java 2- The complete reference, Osborne. • Client Server, Most of practical java • Bruce Eckel, thinking in java, Pearson • Most of theoretical java • Galvin, Operating system concepts • Scheduling, multitasking, synchronization AbhishekGanguly | ApoorvPandey
Grid Computing Framework – References • 90% of the research material has been obtained from the internet • And rest 10% from text books • Websites : • Wikipedia • About everything has been consulted on Wikipedia • Oracle sun tutorial-trail • java code samples, in-depth class structure • boinc.berkeley.edu • Basic understanding of one of the most successful grid. AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Rebuttle Questions AbhishekGanguly | ApoorvPandey
Grid Computing Framework – Thank you Thank You AbhishekGanguly | ApoorvPandey