Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology - 2009.

Slides:



Advertisements
Similar presentations
Copyright © 2008 SAS Institute Inc. All rights reserved. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks.
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
Distributed components
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
June Supervisors & Staff Supervisor: Oved Itzhak Developers: Saeed Mhameed Hani Ayoub.
May Supervisors & Staff Suprevisors: Mr. Maxim Gurevich Dr. Ilana David Developers: Saeed Mhameed Hani Ayoub.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion -
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
OS Spring’03 Introduction Operating Systems Spring 2003.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Proxy Cache Leonid Romanovsky Olga Fomenko Winter 2003 Instructor: Konstantin Sinyuk.
PRASHANTHI NARAYAN NETTEM.
N-Tier Architecture.
Finding Nearby Wireless Hotspots CSE 403 LCA Presentation Team Members: Chris Scoville Tessa MacDuff Matt Mohebbi Aiman Erbad Khalil El Haitami.
Advances in Language Design
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
ATIF MEHMOOD MALIK KASHIF SIDDIQUE Improving dependability of Cloud Computing with Fault Tolerance and High Availability.
ADLB Update Recent and Current Adventures with the Asynchronous Dynamic Load Balancing Library Rusty Lusk Mathematics and Computer Science Division Argonne.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
An Introduction to Software Architecture
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Upgrade to Real Time Linux Target: A MATLAB-Based Graphical Control Environment Thesis Defense by Hai Xu CLEMSON U N I V E R S I T Y Department of Electrical.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Network Monitor Final presentation Project in systems programming, Winter 2008 Students : Vitaly Zakharenko & Alex Tikh Supervisor : Isask'har (Zigi) Walter.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
DynaRIA: a Tool for Ajax Web Application Comprehension Dipartimento di Informatica e Sistemistica University of Naples “Federico II”, Italy Domenico Amalfitano.
Shuman Guo CSc 8320 Advanced Operating Systems
Remote Procedure Call Andy Wang Operating Systems COP 4610 / CGS 5765.
Mark Stanovich Operating Systems COP Primitives to Build Distributed Applications send and receive Used to synchronize cooperating processes running.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Tim Hamilton.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
Implementing Remote Procedure Calls Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Published: ACM Transactions on Computer Systems,
Data-Centric Systems Lab. A Virtual Cloud Computing Provider for Mobile Devices Gonzalo Huerta-Canepa presenter 김영진.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Applied Operating System Concepts
Software Architecture
Duncan MacMichael & Galen Deal CSS 534 – Autumn 2016
Advanced Topics in Concurrency and Reactive Programming: Case Study – Google Cluster Majeed Kassis.
N-Tier Architecture.
Self Healing and Dynamic Construction Framework:
Software Architecture
EECS 582 Midterm Review Mosharaf Chowdhury EECS 582 – F16.
An Introduction to Software Architecture
MapReduce: Simplified Data Processing on Large Clusters
Software Architecture
Message Passing Systems
Presentation transcript:

Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology Why Bother? Several solution already exist, such as: Condor (Complex Syntax, One task per run, Not developer-friendly) MPI (Networking understanding needed, Executing and Synchronizing tasks is the user responsibility ) Implementing new solution: User-friendly API (ease of usage). User transparency. Dynamic System-Management. Task generic. Easy to convert user code from serial to parallel. Concepts Task Operation: the function/s the user wants to execute remotely. Task: invocation of Task Operation with specific arguments. Result: the component includes the Task Operation’s result on a Task. System Manager: manages communication among system components such as Networking, Auto-update, Failure detection and so on. Client: user’s interface, resides in user’s side and responsible for starting/stopping the system, submitting Tasks and processing Results. Executer: the remote implementing Task Operation. High Level Design Main Components: System manager, Client, Executer, UI.  Task and Result are shared among Executers and Clients.  Executer components resides on a remote machine waiting for tasks or orders from system manager.  UI Component connects to a given System-manager address and allows the user to manage the system. System Manager Client Executer Task Result UI Communication Design Diagram The system is built over multiple niches. Each level designed to have its own intra-communication infrastructure and the components communicate using the external-communication infrastructure. Client Tasks Buffer Results Buffer System Manager Executer Tasks Buffer Results Buffer Schedule Get Results Send Task Heart Beat Firewall Main Architecture Diagram The Client Schedules a Chunk of Tasks Through the System-Manager that chooses the best Executer for him. The Client Sends the Chunk to be executed to the chosen Executer. The Executer executes the Task and returns the Result to him. Internal Communication Data-flow Internal Components organization and communication data-flow considering chunks, threads and buffers. Executer main data-flow diagram: Collected Tasks in Chunks Scheduled by System-Manager to be sent to the designated Executer. Client main data-flow diagram: Received Chunks broken into Tasks, executed by the concrete Executer (user provided). Results are mapped to the relevant Client in results buffer. Tasks Buffer Client main Chunk Creator Chunk Buffer Schedule System Manager Chunk Scheduler Scheduled Chunks Chunks Sender Send Executer Result Collector Collect Results Buffer Client System Abstract Main Problem: Executing large set of small computational tasks consumes numerous processing time on a single machine. Tasks are homogeneous and non-related Executing is serial. Execution order is not significant. The Main Idea of the project is to build a generic distributed system which supplies a friendly user API allows remote execution. Target audiences of the system are software developers who need to execute tasks over more than one computer without getting involved with complex networking APIs. The system can be used in environments where some machines are behind firewalls. Additional features are: Auto-update, which seamlessly propagates code updates to all machines in the system. Logger is used for tracing the system and for finding bugs. Remote Exception Handler captures exception occurring on remote-machines and simulates them on the machine that submitted the task. Features  Firewall Overcome: A firewall can exist between user machine and remote-machines One side connection (user side)  Load Balancing: Tasks can be submitted to the system asynchronously. Load balancing needed for efficiency: Distributing tasks considering remote-machine load and priority Round-Robin based Prevent starvation  Auto-Update Support the ability of updating the code provided by the end-user from the System Management UI.  Efficiency (Chunking) formation of smaller units of information into large coordinated units.  Execution Transparency Simulating I/O operation and Exceptions in Client local machine.  Fault Tolerance (Failure Detection) Save the machine state until it connect again, then resumes its work. Performance Analysis Study on a sample application: Distributed webpage downloading and parsing Test results with the following workload: Task is downloading a web page given its URL Result is text extracted and parsed from the HTML of the web-page Legend Thread Executer1 Executer2 Executer3 System Manager Client Give me Executer Executer3 Task Result Chunks Buffer Executer System Tasks Receiver Chunk Breaker \ Classifier Tasks Buffer Special Tasks Handler Task Executer Concrete Executer Results Buffer Clients Results Organizer Clients Organized Results Client Collect Conclusion The more Executers added, the less execution time achieved Total execution time bounded by the longest task which is close to the optimal.