Real-time Grid Computing : Recent Results on a Pilot Job Approach



Similar documents
Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol

How To Understand The Concept Of A Distributed System

Game Playing in the Real World. Next time: Knowledge Representation Reading: Chapter

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

IMPLEMENTATION OF INTELLIGENT FIREWALL TO CHECK INTERNET HACKERS THREAT

Chapter 18: Database System Architectures. Centralized Systems

MANAGING NETWORK COMPONENTS USING SNMP

Fonality. Optimum Business Trunking and the Fonality Trixbox Pro IP PBX Standard Edition V p13 Configuration Guide

High Performance Cluster Support for NLB on Window

Software design (Cont.)

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Using In-Memory Computing to Simplify Big Data Analytics

Guideline for setting up a functional VPN

Classic Grid Architecture

Vocia MS-1 Network Considerations for VoIP. Vocia MS-1 and Network Port Configuration. VoIP Network Switch. Control Network Switch

Interconnect Efficiency of Tyan PSC T-630 with Microsoft Compute Cluster Server 2003

STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

Exploiting peer group concept for adaptive and highly available services

VegaStream Information Note Considerations for a VoIP installation

How To Understand and Configure Your Network for IntraVUE

A Comparison of Distributed Systems: ChorusOS and Amoeba

The Ecosystem of Computer Networks. Ripe 46 Amsterdam, The Netherlands

System Models for Distributed and Cloud Computing

22S:295 Seminar in Applied Statistics High Performance Computing in Statistics

Giving life to today s media distribution services

Stability of QOS. Avinash Varadarajan, Subhransu Maji

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Edge Configuration Series Reporting Overview

Special Note Ethernet Connection Problems and Handling Methods (CS203 / CS468 / CS469)

Network Attached Storage. Jinfeng Yang Oct/19/2015

Common P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype

Avaya ExpertNet Lite Assessment Tool

Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU

Parallel Processing over Mobile Ad Hoc Networks of Handheld Machines

TRILL for Data Center Networks

1.0 Basic Principles of TCP/IP Network Communications

JXTA TM : Beyond P2P File Sharing the Emergence of Knowledge Addressable Networks

Oracle Net Services for Oracle10g. An Oracle White Paper May 2005

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Bandwidth Security and QoS Considerations

POWER ALL GLOBAL FILE SYSTEM (PGFS)

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX

TECHNICAL CHALLENGES OF VoIP BYPASS

Scalable Internet Services and Load Balancing

Question: 3 When using Application Intelligence, Server Time may be defined as.

RevoScaleR Speed and Scalability

Cellular Computing on a Linux Cluster

Client/server and peer-to-peer models: basic concepts

Network: several computers who can communicate. bus. Main example: Ethernet (1980 today: coaxial cable, twisted pair, 10Mb 1000Gb).

GlobalSCAPE DMZ Gateway, v1. User Guide

Computer Security: Principles and Practice

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

Design and Implementation of Client Server Network Management System for Ethernet LAN

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)

Optimum Business SIP Trunk Set-up Guide

10 Key Things Your VoIP Firewall Should Do. When voice joins applications and data on your network

JXTA Overview. Mathieu Jan IRISA Rennes Projet Paris

PANDORA FMS NETWORK DEVICE MONITORING

Computer Security DD2395

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

TRILL Large Layer 2 Network Solution

Lustre Networking BY PETER J. BRAAM

SuperViz: An Interactive Visualization of Super-Peer P2P Network

Principles and characteristics of distributed systems and environments

Zarząd (7 osób) F inanse (13 osób) M arketing (7 osób) S przedaż (16 osób) K adry (15 osób)

Industrial Network Security and Connectivity. Tunneling Process Data Securely Through Firewalls. A Solution To OPC - DCOM Connectivity

Automatic Configuration and Service Discovery for Networked Smart Devices

bbc Adobe LiveCycle Data Services Using the F5 BIG-IP LTM Introduction APPLIES TO CONTENTS

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Deploying in a Distributed Environment

Chapter 2 PSTN and VoIP Services Context

BlackBerry Enterprise Service 10. Version: Configuration Guide

Verizon Firewall. 1 Introduction. 2 Firewall Home Page

Lecture 5: GFS & HDFS! Claudia Hauff (Web Information Systems)! ti2736b-ewi@tudelft.nl

PANDORA FMS NETWORK DEVICES MONITORING

Assignment One. ITN534 Network Management. Title: Report on an Integrated Network Management Product (Solar winds 2001 Engineer s Edition)

Break Internet Bandwidth Limits Higher Speed. Extreme Reliability. Reduced Cost.

Sage ERP Accpac Online

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, Page 1

TCP/IP works on 3 types of services (cont.): TCP/IP protocols are divided into three categories:

Scalable Linux Clusters with LVS

Client/Server and Distributed Computing

CS 356 Lecture 19 and 20 Firewalls and Intrusion Prevention. Spring 2013

Cisco Integrated Services Routers Performance Overview

Avaya P330 Load Balancing Manager User Guide

Architecture and Data Flow Overview. BlackBerry Enterprise Service Version: Quick Reference

DEPLOYMENT GUIDE Version 1.1. Configuring BIG-IP WOM with Oracle Database Data Guard, GoldenGate, Streams, and Recovery Manager

Firewalls P+S Linux Router & Firewall 2013

Capacity Planning Guide for Adobe LiveCycle Data Services 2.6

SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011

About Firewall Protection

Considerations In Developing Firewall Selection Criteria. Adeptech Systems, Inc.

IPv4 and IPv6 Integration. Formation IPv6 Workshop Location, Date

Frequently Asked Questions

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Deployment Guide July-2014 rev. a. Deploying Array Networks APV Series Application Delivery Controllers for Microsoft Lync Server 2013

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Transcription:

1/44 Real-time Grid Computing : Recent Results on a Pilot Job Approach Hermann He!ling" #$ %$ %&''" DESY Computing Seminar" University of Hamburg"

2/44 Outline ' "Grid Computing: Real(time Aspects" % Chess on the Grid: GriScha" "%$' "Chess Computing" "%$% "GriScha" ) Peer(to(Peer Concepts in Real(time Grid Computing" ")$' "Messages" ")$% "Shared Memory" * Summary and Outlook"

3/44 1. Multiple Processor Systems Communication models "" a+ A shared(memory multiprocessor" b+ A message(passing multicomputer" c+ A wide area distributed system" A$ S$ Tanenbaum: Modern Operating Systems ( %nd ed$"

4/44 _Hß_ 1. Multiprocessors A. S. Tanenbaum: Modern Operating Systems - 2nd ed. Nonuniform Memory Access (NUMA) Single address space visible to all CPUs A. S. Tanenbaum: Modern Operating Systems - 2nd ed. Access to remote memory is slower than to the local memory A Distributed Shared Memory (DSM) architecture needs a lot of internal messages

5/44 _Hß_ 1. Real-time Computing Some characteristics Computing system reacts within constraints on the response time Deadlines must be fulfilled independently of the load of the system Hard real-time systems: no latency tolerated (for example chess) So. real-time systems: some latency tolerated (for example chess) Real-time operating systems Framework for real-time applications Advanced scheduling algorithms (priority ~, static time ~,...) Interrupt handler Fast memory allocation algorithms Examples: QNX, RTLinux,...

6/44 _Hß_ 1. Grid Computing User Broker Grid Catalogue GW GW GW WN WN WN WN WN WN The broker selects a gateway (GW) which passes the user job to a worker node (WN) The WNs within a grid site are protected against the outside by a firewall WN WN WN WN WNs cannot react directly on real-time user events

7/44.!! What is real"time grid computing?" "! Colleagues in the spring of %&&1: 2never heard about it$3"

8/44 1. Real-time Grid Computing!! Google,Oct$ %*0 %&'&+: 4) hits"

9/44 Google,Febr$ )0 %&''+: 540'&& hits" $"

10/44 Google,Febr$ )0 %&''+: 44 hits 6 /' hit 7 month $"

11/44 Google,Febr$ )0 %&''+: 540'&& hits" $" '.! %.! ).! *.!

12/44 1. Real-time Grid Computing!! Google8s No$ )"!! M$ Eltayeb0 A$ Dogan0 F$ 9zg:ner: A Path Selection Based Algorithm for Maximizing Self"satis#ability of Requests in Real"Time Grid Applications,Euro(Par %&&*+" "! First sentence of the introduction: " "2Research in real(time Grid computing is needed to enable Grid services for newly emerging class of large(scale real(time distributed applications$2" "! Goals: -nd a scheduling algorithm that " #! distributes e;ciently huge datasets between grid nodes connected over by a wide area network " #! accounts for deadlines by which datasets have to be delivered" "! Dijkstra8s routing algorithm is extended by a priority component" #! If di<erent routing paths cross the same intermediate node0 the access of low(priority paths to this node may be blocked by a certain amount of time"

13/44 _Hß_ 1. Real-time Grid Computing Google s No. 2: S. Cozzini, R. di Meo, E. Corso: Real-time grid computing for financial applications (GRID2006) Goals Porting a financial application on a grid infrastructure (EGRID) Guarantee real time computing Master/slave architecture Master: running outside the grid Slaves: grid worker nodes, allocated in advance Limitations: poor scaling due to network overhead Modification: continent algorithm Master Grid WN Master and grid site communicate via a bridge node over the public internet WN Worker nodes within a grid site communicate over local network Performance tests: 1-20 nodes

14/44 _Hß_ Google s No. 1 Outline 2006: Real-time grid computing monitor maps of the worldwide activity of the LHC Grid (LCG)

15/44 Chess-Brain!! ChessBrain Project,www$chessbrain$net+" "! Jan$ )&0 %&&*: ChessBrain was running on %&#& computers connected over the internet" #! Draw against GM Peter Heine Nielsen,%4>) ELO rating+" "! Guinness World Record for 2the largest network chess computer3" "! Communication SuperNode PeerNodes: SOAP,HTTPS6XML+" #! Overhead / '& sec$ per move"!! ChessBrain II" "! Main goal: increase scalability " "! Hierarchically distributed " "communication model,supernode0 " "ClusterNodes0 PeerNodes+" "! SOAP replaced by /SIP, VOIP+" "! Parallel game tree search,aphid+" "! Status: 2server testing has begun3,%&&4+"

16/44 Outline ' "Grid Computing: Real(time Aspects" % Chess on the Grid: GriScha" "%$' "Chess Computing" "%$% "GriScha" ) Peer(to(Peer Concepts in Real(time Grid Computing" ")$' "Messages" ")$% "Shared Memory" * Summary and Outlook"

17/44 2.1 Chess Computing!! Some estimates" "! Ken Thompson,Unix0 B0 C+: ' Ply / %&& ELO, Belle vs$ Belle+" "! Rapid chess: *& moves in " "'5 minutes /%& s7move" "! Assumptions" #! Computational power" "/ ' million positions7s" #! Middlegame" "/ )5 legal moves" " parallelizing chess:" ' worker node: *$# Ply " $! 20 * 10 6 ~ 35 4.7! 5&& worker nodes: 4$5 Ply " $! 500 * 20 * 10 6 ~"35 6.5 " "! Horizon shi. on 5&& nodes: ' move",* Ply0 '%)& ELO+",1 Ply0 %)%> ELO+" http:77www$chessbase$com7columns7column$asp?pid?'&%" "! Strong club player: '>&&(%&&& ELO0 Deep Rybka ): /)%&& ELO"

18/44 _Hß_ 2.2 GriScha Working Group Daniel Heim B. Sc. (2009 - ) HH Christian Lehmann (2009) Christoph Neumann B. Sc. (2009 - ) Christian Rossius B. Sc. (2009 - ) Marco Strutz B. Sc. (2009 - ) Francesco Tietke B. Sc. (2010)

19/44 _Hß_ 2.2 GriScha Very simple chess engine Elementary evaluation of chess positions No external intelligence No database of chess openings No endgame tablebase No database of chess games Can you make many beginners stronger than a master? Goal Grid computing provides access to thousands of worker nodes The challenge is to provide collective communication in huge communities Developing a testbed for exploring real-time communication in grid computing

20/44 2.2 GriScha!! Architecture" '$ Move generator" #! Board representation" #! Creates a list of legal moves for a given chess position" %$ Evaluation function?,unweighted+ sum of two contributions:" #! Value of pieces ",pawn? '0 knight? bishop? )0 +" #! Position evaluation ",2A knight on the rim is grim3+" )$ Search strategy" #! Alpha(Beta pruning" $! cutting the search tree without modifying the result" $! /'& times faster than the minimax algorithm" #! Iterative deepening" #! Parallelization" *$ Communication between MasterNode and grid worker nodes" 5$ Graphical user interface"

21/44 2.2 GriScha!! Value of the pieces,opponent: values multiplied by ('+" "! pawn " "'&" "! knight " ")&" "! bishop " ")%" "! rook " "55" "! queen " "1>" "! king " "'&&&" The usual values are multiplied by '& and modi-ed by some oddness to reduce the probability that di<erent positions obtain the same evaluation number$,the oddness is partly motivated by Larry Kaufman8s statistical analysis$+ "!! Position evaluation,opponent: values multiplied by ('+" "! two bishops " " "6 5" "! 2knight on the rim is grim3 "( *" "! pawn at rank n,n@4+ " "6 %n" "! pawn: isolated0 doubled0 behind "( )" "! castling still permitted " "6 5" "! attacked Q0 R0 B0 N " "( &$&1*value " "! attacked K " " "( &$&&>*value"

22/44 2.2 GriScha Gatekeeper Grid Communication Gatekeeper allocates worker nodes in advance submits a pilot job to worker nodes Worker node runs a pilot job firewalls of grid sites must allow at least 1 outbound connection Pilot job contains chess evaluation so.ware (JAVA) initiates a connection to the MasterNode receives requests from MasterNode and answers in a given time MasterNode (in conjunction with the GriScha Engine, see p. 24) MasterNode WN Pilot job WN Pilot job calculates the legal moves a.er the first 3-4 Ply distributes chess positions to the worker nodes evaluates results from the worker nodes and selects a move

23/44 2.2 GriScha Communication between MasterNode and worker node Simple Invocation of Methods over Network (SIMON) SIMON is the RMI alternative (http://dev.root1.de/wiki/2) Client establishes one TCP/IP connection to the server Client can call methods on the server, over the same connection server can call methods on the client (callback) Scalable ( Java New IO (NIO) and thread pools) MasterNode Worker Node For comparison: RMI needs at least two connections to call methods on both sides. Problem: the firewalls of grid sites block inbound communication

24/44 2.2 GriScha GriScha Engine a collection of chess specific components Connected via SIMON to the MasterNode virtual worker nodes (VWN) are activated by the MasterNode the Worker Node (WN) Manager acts as a proxy Calls methods on the VWNs which are send via SIMON to the real worker nodes XBoard is a graphical chessboard (open source) The GriScha Engine is connected to XBoard via the standard IO (STDIO) GUI XBoard STDIO GriScha Engine VWN VWN VWN SIMON SIMON SIMON Master Node WN Manager SIMON SIMON WN WN WN

25/44 2.2 SIMON in Real-time Grid Computing Ping test"!! The MasterNode calls periodically,'&&& Hz+ an empty method on the worker nodes and measures the duration until he receives a reply$"!! Result: the latency is independent of the number of worker nodes$" "! The band structure is due to the quality of the internet connection between the MasterNode and the grid sites$" Ping time AmsB " " " Number of WNs"! Ping event" Number of active worker nodes" time"

26/44 2.2 SIMON in Real-time Grid Computing Message exchange"!! The MasterNode calls periodically,&$% Hz0 '% periods+ a method on each worker node which send back a 2packet3 of P bytes$ Measured is the time between calling the method and receiving the complete message$"!! Results " "! Latency grows with the message length" "! An incuence of the number of worker nodes is not observed" Latency AmsB " " Number of WNs" &$5 '$& '$5 %$&" P AMBB" & 5 '& '5 t AminB" "! -80-60 -40-20 Message event" o! Every minute the message size P is increased by &$' MB$" o! For reasons of readability a random number & &$&1 MB " is added to the message size P before an event is noted" in the scatter plot" Number of active worker nodes at time t" o! % worker nodes,of the total >&+ did not start in time"

27/44 2.2 Counterproductive Parallelism Clients are called periodically (1 Hz, 5 periods) by a server to send back to him a randomly generated string message of N bytes Communication between server and clients: SIMON over a switched Fast Ethernet Results of speedup measurements ( ) Standard deviation of T (1) T (p) 1 6 % Let a program consist of a sequential and a parallelizable part T seq =time to run the sequential part T par =time to run the parallel part Amdahl s law: time to finish the program on p parallel processors 1 KB 10 KB 1 MB Assumption: Least-square fit of the Speedup = for long messages (green curve): Number of clients p Results Speedup is growing (~linearly if p 4) for small messages (blue and red curve) c~0.007 T(1)>0 speedup decreases if a server receives too long messages from many clients at the same time

28/33 Outline $"

29/33 Outline Worker node topology"!! /5&& worker nodes" Access to the grid VO DECH " was kindly supported by"

30/33 $" '> ms" # ms" Outline %' ms" GriScha has an interface to" Graphviz " "! Graph visuali(" zation so.ware ",open source+" n7a" n7a" n7a" n7a" Network latency /%& ms between Grid sites and MasterNode" "! GriScha is " equipped with a " module for " analyzing tra;c "

31/33 _Hß_ Outline 1

32/33 Outline '"

33/44 Outline ' "Grid Computing: Real(time Aspects" % Chess on the Grid: GriScha" "%$' "Chess Computing" "%$% "GriScha" ) Peer(to(Peer Concepts in Real(time Grid Computing" ")$' "Messages" ")$% "Shared Memory" * Summary and Outlook"

34/44 3.1 JXTA!! %&&': JXTA initiated by Sun Microsystems" "! Standardization of peer(to(peer,p%p+ applications based on Java" #! P%P" $! devices can act as client and as server" $! no central authority information distributed over P%P network" "! JXTA: 2juxtapose3 D positioned side(by(side" #! P%P model client(server model" "! Set of open XML(based protocols" "! https:77jxta$dev$java$net"!! %&&1: JXSE " "! JXTA Standard Edition" "! Open Source Java implementation of" "the JXTA protocols" "! http:77jxse$kenai$com"

35/44 3.1 JXTA!! JXTA acts as a standard to form a P%P network" "! Routing on" "application layer" "! Discovery:" "if no direct route" "to a destination" "is known a Route " "Resolver Query" "is sent to the" "members of the" "peer group" Peer '",Notebook +" Practical JXTA II0 % nd Ed$"!! Accessing peers behind a -rewall,6nat+ is not trivial" "! JXTA operates on TCP,or UDP+ 7 IP" Peer )",PDA+ " Peer %",PC+" "! A JXTA peer is listening to,at least+ one port for incoming messages" "! A JXTA peer is sending messages to a destination over speci-ed ports"

36/44 _Hß_ 3.1 JXTA JXTA Transportation Transportation concept: edge peers use pipes to send messages Messages (XML/binary) may (or may not) reach the destination The time needed to exchange a message between edge peers is not constrained This point is of importance for real-time computing Rendezvous peers: connect edge peers Delegate queries to other rendezvous peers JXSE Transportation Relay peers: connect (rendezvous) peers separated by firewalls/nat Enabled with a public IP address Default TCP communication ports: 9701-9799 If these ports are blocked by a firewall, JXSE tries to connect to a known relay peer using HTTP(+XML) via the TCP port 9901 If port 9901 is also blocked internal peers are not accessible from WAN

37/44 3.1 JXTA in Grid Computing Gatekeeper" Broker" Grid" Cata( logue" MasterNode" GW" GW" WN" Pilot" WN" Pilot" WN" Pilot" WN" Pilot" WN" Pilot" WN" Pilot" Gatekeeper allocates worker nodes,wn+" in advance by submitting pilot jobs to the broker "

38/44 3.1 JXTA in Grid Computing Gatekeeper" Broker" Grid" Cata( logue" MasterNode" GW" GW" WN" Pilot" WN" Pilot" WN" Pilot" WN" Pilot" WN" Pilot" WN" Pilot" The pilot jobs use SIMON to establish a connection " "between worker nodes and the MasterNode "

39/44 3.1 JXTA in Grid Computing Gatekeeper" Broker" Grid" Cata( logue" MasterNode" GW" GW" RP" Pilot" Peer" Peer" Peer" Peer" RP" Pilot",At least+ one peer per site becomes a rendezvous peer,rp+$" MasterNode? relay peer? Advisable in real(time computing?"

40/44 _Hß_ 3.2 JuxMem JuxMem Juxtaposed Memory A Grid Data-Sharing Service Based on JXTA Management of shared memory data (not only files) 2008 JuxMem-C 0.5 released ( complete rewrite from scratch ) Unification of DSM and P2P technologies Distributed Shared Management (DSM) systems Platform: clusters Scaling: small (~ 10 2 ) Architecture: static Data consistency: important Peer-to-Peer (P2P) systems Platform: internet Scaling: huge (~ 10 6 ) Architecture: dynamic Data consistency: ---

41/44. $ provides memory sharing service allowing peers to share memory data0 and not only -les" http:77juxmem$gforge$inria$fr"

42/44 _Hß_ JuxMem Peers creating peers juxmem *peer = new juxmem(id, juxmem_group, listening_port); id = manager, client manager peer unique, handles communication between peers provider peers publish size bytes in JuxMem network peer->share(size)

43/44 _Hß_ JuxMem client peers: writer allocate shared data within JuxMem network of size bytes void* ptr = peer->malloc(data_id, size,...) acquire/release a write lock on a JuxMem data peer->acquire(data_id) peer->release(data_id) Example: (writing a at position 4) memset(ptr + 4, a,1) client peers: reader map shared data within JuxMem of size bytes to a local pointer void* ptr = peer->mmap(data_id, size...) acquire/release a read lock on a JuxMem data peer->acquire_read(data_id) peer->release(data_id)

44/44 4. Summary and Outlook!! GriScha" "! A so. real(time grid computing system" "! Communication between MasterNode and grid worker nodes" #! Pilot jobs" #! SIMON protocol" "! Shown to run successfully on a grid system,glite+ of medium size " #! HTW Berlin,June 40 %&'&+: /5&& nodes0 /'& hours" #! DESY Hamburg,Febr$ #0 %&''+: /45& nodes0 / % hours"!! Current activities" "! Exploring P%P methods for exchanging data between worker nodes" #! JXTA 7 JXSE " "messages " "" #! JuxMem " "shared memory"!! Future topic: approaching hard real(time grid computing" "! Priority" "! Distributed semaphores"