Simplest Scalable Architecture

Size: px
Start display at page:

Download "Simplest Scalable Architecture"

Transcription

1 Simplest Scalable Architecture NOW Network Of Workstations

2 Many types of Clusters (form HP s Dr. Bruce J. Walker) High Performance Clusters Beowulf; 1000 nodes; parallel programs; MPI Load-leveling Clusters Move processes around to borrow cycles (eg. Mosix) Web-Service Clusters LVS; load-level tcp connections; Web pages and applications Storage Clusters parallel filesystems; same view of data from each node Database Clusters Oracle Parallel Server; High Availability Clusters ServiceGuard, Lifekeeper, Failsafe, heartbeat, failover clusters

3 Many types of Clusters (form HP s Dr. Bruce J. Walker) High Performance Clusters Beowulf; 1000 nodes; parallel programs; MPI Load-leveling Clusters Move processes around to borrow cycles (eg. Mosix) Web-Service Clusters LVS; load-level tcp connections; Web pages and applications Storage Clusters parallel filesystems; same view of data from each node Database Clusters Oracle Parallel Server; High Availability Clusters ServiceGuard, Lifekeeper, Failsafe, heartbeat, failover clusters NOW type architectures

4 NOW Approaches Single System View Shared Resources Virtual Machine Single Address Space

5 Shared System View Loadbalancing clusters High availability clusters High Performance High throughput High capability

6 Berkeley NOW

7 NOW Philosophies Commodity is cheaper In MB RAM was $40/MB for a PC $600/MB for a Cray M90

8 NOW Philosophies Commodity is faster CPU 150 MHz Alpha MPP year WS year MHz i ~91 32 MHz SS

9 Network RAM Swapping to disk is extremely expensive ms for a page swap on disk Network performance is much higher 700 us for page swap over the net

10 Network RAM

11 NOW or SuperComputer? Machine Time Cost C-90 (16) 27 $30M RS6000 (256) $4M +ATM 2211 $5M +Parallel FS 205 $5M +NOW protocol 21 $5M

12 The Condor System Unix and NT Operational since 1986 More than 1300 CPUs at UW-Madison Available on the web More than 150 clusters worldwide in academia and industry

13 What is Condor? Condor converts collections of distributively owned workstations and dedicated clusters into a highthroughput computing facility. Condor uses matchmaking to make sure that everyone is happy.

14 What is High-Throughput Computing? High-performance: CPU cycles/second under ideal circumstances. How fast can I run simulation X on this machine? High-throughput: CPU cycles/day (week, month, year?) under non-ideal circumstances. How many times can I run simulation X in the next month using all available machines?

15 What is High-Throughput Computing? Condor does whatever it takes to run your jobs, even if some machines Crash! (or are disconnected) Run out of disk space Don t have your software installed Are frequently needed by others Are far away & admin ed by someone else

16 A Submit Description File # Example condor_submit input file # (Lines beginning with # are comments) # NOTE: the words on the left side are not # case sensitive, but filenames are! Universe = vanilla Executable = /home/wright/condor/my_job.condor Input = my_job.stdin Output = my_job.stdout Error = my_job.stderr Arguments = -arg1 -arg2 InitialDir = /home/wright/condor/run_1 Queue

17 What is Matchmaking? Condor uses Matchmaking to make sure that work gets done within the constraints of both users and owners. Users (jobs) have constraints: I need an Alpha with 256 MB RAM Owners (machines) have constraints: Only run jobs when I am away from my desk and never run jobs owned by Bob.

18 Process Checkpointing Condor s Process Checkpointing mechanism saves all the state of a process into a checkpoint file Memory, CPU, I/O, etc. The process can then be restarted from right where it left off Typically no changes to your job s source code needed however, your job must be relinked with Condor s Standard Universe support library

19 Remote System Calls I/O System calls trapped and sent back to submit machine Allows Transparent Migration Across Administrative Domains Checkpoint on machine A, restart on B No Source Code changes required Language Independent Opportunities for Application Steering Example: Condor tells customer process how to open files

20 MOSIX and its characteristics Software that can transform a Linux cluster of x86 based workstations and servers to run almost like an SMP Has the ability to distribute and redistribute the processes among the nodes

21 MOSIX Dynamic migration added to the BSD kernel Now Linux Uses TCP/IP for communication between workstations Requires Homogeneous networks

22 MOSIX All processes start their life at the users workstation Migration is transparent and preemptive Migrated processes use local resources as much as possible and the resources on the home workstation otherwise

23 Process Migration in MOSIX User-level User-level Deputy Link Layer Remote Link Layer Kernel Kernel A local process and a migrated process

24 MOSIX

25 Mosix Make

26 PVM Task based Tasks can be created at runtime Tasks can be notified on the death of a parent or child Tasks can be grouped

27 PVM Architecture Demon based communication User defined host list Hosts can be added and removed during execution The virtual machine may be used interactively or in the background

28 Heterogeneous Computing Runs processes on different architectures Handles conversion between little endian and big endian architectures

29 PVM communication model Explicit message passing Has mechanisms for packing into buffers and unpacking from buffers Supports Asynchronous Communication Supports one to many communication Broadcast Multicast

30 The virtual machine codes All calls to PVM return an integer, if less than zero this indicates an error pvm_perror();

31 PVM

32 Managing the virtual machine Add a host to the virtual machine int info = pvm_addhosts( char **hosts, int nhost, int *infos ); Deleting a host in the virtual machine int info = pvm_delhosts( char **hosts, int nhost, int *infos ) Shutting down the virtual machine int info = pvm_halt( void );

33 Managing the virtual machine Reading the virtual machine configuration int info = pvm config( int *nhost, int *narch, struct pvmhostinfo **hostp ) struct pvmhostinfo { int hi_tid; char *hi_name; char *hi_arch; int hi_speed; } hostp;

34 Managing the virtual machine Check the status of a node int mstat = pvm_mstat(char *host); PvmOk host is OK PvmNoHost host is not in virtual machine PvmHostFail host is unreachable (and thus possibly failed)

35 Tasks PVM tasks can be created and killed during execution id = pvm_mytid(); cnt = pvm_spawn(image, argv, flag, node, num, tids); pid = pvm_parrent(); pvm_kill(tids[0]); pvm exit(); int status = pvm_pstat( tid )

36 Tasks int info = pvm_tasks( int where, int *ntask,struct pvmtaskinfo **taskp ) struct pvmtaskinfo{ int ti_tid; int ti_ptid; int ti_host; int ti_flag; char *ti_a_out; int ti_pid; } taskp;

37 Managing IO In the newest version of PVM output may be redirected to the parent int bufid = pvm_catchout( FILE *ff );

38 Asynchronous events Notifications on special events info = pvm_notify(event, tag, cnt, tids); info = pvm_sendsig(tid, signal);

39 Groups Groups allows for easy fragmentation of the execution in an application num=pvm_joingroup("worker"); size = pvm_gsize("worker"); info = pvm_lvgroup("worker"); int inum = pvm_getinst( char *group, int tid ) int tid = pvm_gettid( char *group, int inum )

40 Buffers PVM applications have a default send and a default receive buffer buf=pvm_initsend(default Raw In place); info = pvm_pk(type)(data,10,1); info = pvm_upk(type)(data,10,1);

41 Managing Buffers info = pvm_mkbuffer(default Raw In place); oldbuf = pvm_setrbuf(bufid); oldbuf = pvm_setsbuf(bufid); int info = pvm_freebuf( int bufid ) int bufid = pvm_getrbuf( void ); int bufid = pvm_getsbuf( void );

42 Receiving messages Messages may be received blocking or nonblocking bufid = pvm_probe(tid, tag); bufid = pvm_recv(tid, tag); bufid = pvm_trecv(tid, tag, tmout); bufid = pvm_nrecv(tid, tag); info = pvm_precv(tid, tag, array, cnt, type, &atid, &atag, &acnt);

43 Sending messages Messages can also be sent in various ways info = pvm_send(tid, tag); info = pvm_psend(tid, tag, data, cnt, type);

44 Managing Buffers info = pvm_mkbuffer(default Raw In place); oldbuf = pvm_setrbuf(bufid); oldbuf = pvm_setsbuf(bufid); int info = pvm_bufinfo( int bufid, int *bytes, int *msgtag, int *tid );

45 Global reductions Global reductions are useful for a wide array of parallel applications info = pvm_reduce(pvmmax, &data, cnt, type, tag, "workers", roottid);

46 PVM Reductions Global Sum Produkt Min Max

47 PVM Synchronizarions Barrier inum=pvm_joingroup("worker"); pvm_barrier("worker",5);

48 Broadcast Sends the active buffer to all members of a group info=pvm_bcast( worker, 42); NOTE: the task that issues a broadcast need not be a member of the group!

49 Multicasting A message can be sent to a number of tasks without the existence of a shared group info = pvm_mcast(list, number, 42);

50 An example Finite differences Well know technique for solving differential equations The one-dimensional version is trivial if we don t need information on the evolution in time

51 The model

52 The example

53 First Solution If left neighbor exist then read data from left send data to the left Update points 0..n-1 If right neighbor exist then read data from right send data to the right update point n

54 Problems with Solution 1? Results in serialization! We must eliminate this serialization

55 Second Solution If left neighbor exist then read data from left send data to the left If right neighbor exist then send data to the right read data from right Update points 0..n

56 Problems with Solution 2 Enforced strict synchronous execution Slowest Task dictates progress All communication takes place at the same time Stresses the communication network

57 Solution 3 If left neighbor exist then send data to the left If right neighbor exist then send data to the right Update points 1..n-1 If left neighbor exist then read data from left Update point 0 If right neighbor exist then read data from right Update points n

58 Problems with solution 3 Practically none! Only potential improvement is to overlap communication and calculation (latency hiding)

59 Solution 4 If left neighbor exist then issue_read data from left issue_send data to the left If right neighbor exist then issue_read data from right issue_send data to the left Update points 1..n-1 Finish_any_read; Update corresponding point Finish_any_read; Update corresponding point

60 Matrix Multiplication Used extremely frequently in scientific applications

61 Naïve version mxmul(real **c, REAL **a, REAL**b, int n) { for(i=0;i<n;i++) for(j=0;j<n;j++) for(k=0;k<n;k++) c[i][j]+=a[i][k]*b[k][j] } The performance of the naïve version may be improved by maintaining B in its transposed form!!

62 Blocked Sequential Version bmul(real **c, REAL **a, REAL**b, int is, int js, int bs, int n){ int i,j,k; } for(i=is*bs;i<is*bs+bs;i++) for(j=js*bs;j<js*bs+bs;j++) for(k=0;k<n;k++) C(i,j)+=A(i,k)*B(k,j); mxmul(real **c, REAL **a, REAL**b, int n){ int i,j,k; } for(i=0; i<n; i+=bs) for(j=0; j<n; j+=bs) bmul(i,i+bs,j,j+bs);

63 Performace of the Basic versions

64 Recursive Version Matrix C mxmul(matrix A, Matrix B, int s){ if(s==1) C=A*B; else { s=s/2; p0=mxmul(ul(a),ul(b),s); p1=mxmul(ur(a),ll(b),s); p2=mxmul(ul(a),ur(b),s); p3=mxmul(ur(a),lr(b),s); p4=mxmul(ll(a),ul(b),s); p5=mxmul(lr(a),ll(b),s); p6=mxmul(ll(a),ur(b),s); p7=mxmul(lr(a),lr(b),s); UL(C)=p0+p1; UR(C)=p2+p3; LL(C)=p4+p5; LR(C)=p6+p7; } return C; }

65 Blocked Parallel Version If we have a broadcast media then we can efficiently broadcast blocks to all workers

66 Blocked Parallel version Done in W broadcasts using W workers!

67 Blocked Version in PVM All workers holds one row-block and the corresponding coloum block Worker zero first broadcasts its coloum, the one and so forth Result is that excatly the size of B is broadcast in W blocks

68 Main main(int argc, char **argv){ int bs; char msg[1024]; N=atoi(argv[1]); bs=atoi(argv[2]); size=atoi(argv[3]); pvm_joingroup("workers"); rank=pvm_getinst( "workers", pvm_mytid()); basicbsize=n/size; lastbsize=basicbsize+n%size; if(rank==size-1)mybsize=lastbsize; else mybsize=basicbsize; } a=(real *)malloc(n*lastbsize*sizeof(real)); //same for b,tb and c mmul(bs); pvm_exit();

69 Main loop mmul(int bs){ int w,i,j,k; int src, atag, acnt; REAL *t=tb; } } for(w=0;w<size;w++){ pvm_initsend(pvm_com_model); if(rank==w){ tb=b; pvm_pkreal(b, N*(w==size-1? lastbsize : basicbsize), 1); pvm_bcast("workers", 100+w); } else { pvm_recv(-1,100+w); pvm_upkreal(tb,n*(w==size-1? lastbsize : basicbsize),1); } for(i=0; i<mybsize; i+=bs) for(j=0; j<mybsize; j+=bs) bmul(i,i+bs,j,j+bs); tb=t;

70 How may this version be improved? Overlapping communication and calculation

71 Summary PVM is similar to programming with threads - except you need messagepassing At first parallel programs may be very inefficient More efficient programs are more complex

72 Programming NOW Dynamic load balancing Dynamic orchestration

73 Dynamic Load Balancing Base your applications on redundant parallelism Rely on the OS to balance the application over the CPUs Rather few applications can be orchestrated in this way

74 Barnes Hut Galaxy simulations are still quite interresting Basic formula is: Naïve algorithm is O(n 2 )

75 Barnes Hut

76 Barnes Hut O(n log n)

77 Balancing Barnes Hut

78 Dynamic Orchestration Divide your application into a job-queue Spawn workers Let the workers take and execute jobs from the queue Not all applications can be orchestrated in this way Does not scale well job-queue process may become a bottleneck

79 Parallel integration

80 Parallel integration Split the outer integral Jobs = range(x 1, x 2, interval) Tasks = integral with x 1 = Jobs i, x 2 =Jobs i ; for i in len(jobs -1) +1 Result = Sum(Execute(Tasks))

81 Genetic Algorithms Genetic algorithms are very well suited for NOW type architectures Requires much processing time Little communication Many independent blocks

82 Example Based on Conway s-game-of-life We have an area with weed Bacteria Or another simple organism Life in this scenario is governed by very simple rules We desire an initial setup that returns the most life after exactly 100 iterations

83 Rules A cell with less than 2 neighbors die, from loneliness A cell with more than 3 neighbors die from crowding A living cell with 2 or 3 neighbors survive to next generation A dead cell with exactly 3 neighbors springs to life by reproduction

84 Approach Let the computer test Various sizes of initial population size Vary mutation rate Run a paralle solution finder using the island model Where each node in a NOW runs independently from the others But nodes exchange champions every once i a while

Simplest Scalable Architecture

Simplest Scalable Architecture Simplest Scalable Architecture NOW Network Of Workstations Many types of Clusters (form HP s Dr. Bruce J. Walker) High Performance Clusters Beowulf; 1000 nodes; parallel programs; MPI Load-leveling Clusters

More information

Distributed Operating Systems. Cluster Systems

Distributed Operating Systems. Cluster Systems Distributed Operating Systems Cluster Systems Ewa Niewiadomska-Szynkiewicz ens@ia.pw.edu.pl Institute of Control and Computation Engineering Warsaw University of Technology E&IT Department, WUT 1 1. Cluster

More information

Linux High Availability

Linux High Availability Linux High Availability In general, there are service monitor daemons running on the load balancer to check server health periodically, as illustrated in the figure of LVS high availability. If there is

More information

MOSIX: High performance Linux farm

MOSIX: High performance Linux farm MOSIX: High performance Linux farm Paolo Mastroserio [mastroserio@na.infn.it] Francesco Maria Taurino [taurino@na.infn.it] Gennaro Tortone [tortone@na.infn.it] Napoli Index overview on Linux farm farm

More information

Introduction. Reading. Today MPI & OpenMP papers Tuesday Commutativity Analysis & HPF. CMSC 818Z - S99 (lect 5)

Introduction. Reading. Today MPI & OpenMP papers Tuesday Commutativity Analysis & HPF. CMSC 818Z - S99 (lect 5) Introduction Reading Today MPI & OpenMP papers Tuesday Commutativity Analysis & HPF 1 Programming Assignment Notes Assume that memory is limited don t replicate the board on all nodes Need to provide load

More information

Infrastructure for Load Balancing on Mosix Cluster

Infrastructure for Load Balancing on Mosix Cluster Infrastructure for Load Balancing on Mosix Cluster MadhuSudhan Reddy Tera and Sadanand Kota Computing and Information Science, Kansas State University Under the Guidance of Dr. Daniel Andresen. Abstract

More information

Overlapping Data Transfer With Application Execution on Clusters

Overlapping Data Transfer With Application Execution on Clusters Overlapping Data Transfer With Application Execution on Clusters Karen L. Reid and Michael Stumm reid@cs.toronto.edu stumm@eecg.toronto.edu Department of Computer Science Department of Electrical and Computer

More information

RevoScaleR Speed and Scalability

RevoScaleR Speed and Scalability EXECUTIVE WHITE PAPER RevoScaleR Speed and Scalability By Lee Edlefsen Ph.D., Chief Scientist, Revolution Analytics Abstract RevoScaleR, the Big Data predictive analytics library included with Revolution

More information

- An Essential Building Block for Stable and Reliable Compute Clusters

- An Essential Building Block for Stable and Reliable Compute Clusters Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative

More information

Automatic load balancing and transparent process migration

Automatic load balancing and transparent process migration Automatic load balancing and transparent process migration Roberto Innocente rinnocente@hotmail.com November 24,2000 Download postscript from : mosix.ps or gzipped postscript from: mosix.ps.gz Nov 24,2000

More information

Load Balancing in Beowulf Clusters

Load Balancing in Beowulf Clusters Load Balancing in Beowulf Clusters Chandramohan Rangaswamy Department of Electrical and Computer Engineering University of Illinois at Chicago July 07, 2001 1 Abstract Beowulf[1] Clusters are growing in

More information

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Client/Server Computing Distributed Processing, Client/Server, and Clusters Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

More information

LOAD BALANCING DISTRIBUTED OPERATING SYSTEMS, SCALABILITY, SS 2015. Hermann Härtig

LOAD BALANCING DISTRIBUTED OPERATING SYSTEMS, SCALABILITY, SS 2015. Hermann Härtig LOAD BALANCING DISTRIBUTED OPERATING SYSTEMS, SCALABILITY, SS 2015 Hermann Härtig ISSUES starting points independent Unix processes and block synchronous execution who does it load migration mechanism

More information

- Behind The Cloud -

- Behind The Cloud - - Behind The Cloud - Infrastructure and Technologies used for Cloud Computing Alexander Huemer, 0025380 Johann Taferl, 0320039 Florian Landolt, 0420673 Seminar aus Informatik, University of Salzburg Overview

More information

Virtuoso and Database Scalability

Virtuoso and Database Scalability Virtuoso and Database Scalability By Orri Erling Table of Contents Abstract Metrics Results Transaction Throughput Initializing 40 warehouses Serial Read Test Conditions Analysis Working Set Effect of

More information

Cloud Computing. Lectures 3 and 4 Grid Schedulers: Condor 2014-2015

Cloud Computing. Lectures 3 and 4 Grid Schedulers: Condor 2014-2015 Cloud Computing Lectures 3 and 4 Grid Schedulers: Condor 2014-2015 Up until now Introduction. Definition of Cloud Computing. Grid Computing: Schedulers: Condor architecture. Summary Condor: user perspective.

More information

High Performance Cluster Support for NLB on Window

High Performance Cluster Support for NLB on Window High Performance Cluster Support for NLB on Window [1]Arvind Rathi, [2] Kirti, [3] Neelam [1]M.Tech Student, Department of CSE, GITM, Gurgaon Haryana (India) arvindrathi88@gmail.com [2]Asst. Professor,

More information

OpenMosix Presented by Dr. Moshe Bar and MAASK [01]

OpenMosix Presented by Dr. Moshe Bar and MAASK [01] OpenMosix Presented by Dr. Moshe Bar and MAASK [01] openmosix is a kernel extension for single-system image clustering. openmosix [24] is a tool for a Unix-like kernel, such as Linux, consisting of adaptive

More information

A LOAD BALANCING EXTENSION FOR THE PVM SOFTWARE SYSTEM CHRISTOPHER WADE HUMPHRES

A LOAD BALANCING EXTENSION FOR THE PVM SOFTWARE SYSTEM CHRISTOPHER WADE HUMPHRES A LOAD BALANCING EXTENSION FOR THE PVM SOFTWARE SYSTEM by CHRISTOPHER WADE HUMPHRES A THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in the Department of

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

WinBioinfTools: Bioinformatics Tools for Windows Cluster. Done By: Hisham Adel Mohamed

WinBioinfTools: Bioinformatics Tools for Windows Cluster. Done By: Hisham Adel Mohamed WinBioinfTools: Bioinformatics Tools for Windows Cluster Done By: Hisham Adel Mohamed Objective Implement and Modify Bioinformatics Tools To run under Windows Cluster Project : Research Project between

More information

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity

More information

PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN

PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN 1 PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN Introduction What is cluster computing? Classification of Cluster Computing Technologies: Beowulf cluster Construction

More information

Building scalable and reliable systems

Building scalable and reliable systems Lectures on distributed systems Building scalable and reliable systems Paul Krzyzanowski Background The traditional approach to designing highly available systems was to incorporate elements of fault-tolerant

More information

Scalable Cluster Computing with MOSIX for LINUX

Scalable Cluster Computing with MOSIX for LINUX Scalable Cluster Computing with MOSIX for LINUX Amnon Barak Oren La'adan Amnon Shiloh Institute of Computer Science The Hebrew University of Jerusalem Jerusalem 91904, Israel amnon,orenl,amnons @cs.huji.ac.il

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

More information

System Software for High Performance Computing. Joe Izraelevitz

System Software for High Performance Computing. Joe Izraelevitz System Software for High Performance Computing Joe Izraelevitz Agenda Overview of Supercomputers Blue Gene/Q System LoadLeveler Job Scheduler General Parallel File System HPC at UR What is a Supercomputer?

More information

Analysis and Implementation of Cluster Computing Using Linux Operating System

Analysis and Implementation of Cluster Computing Using Linux Operating System IOSR Journal of Computer Engineering (IOSRJCE) ISSN: 2278-0661 Volume 2, Issue 3 (July-Aug. 2012), PP 06-11 Analysis and Implementation of Cluster Computing Using Linux Operating System Zinnia Sultana

More information

Cloud Computing. Up until now

Cloud Computing. Up until now Cloud Computing Lecture 3 Grid Schedulers: Condor, Sun Grid Engine 2010-2011 Introduction. Up until now Definition of Cloud Computing. Grid Computing: Schedulers: Condor architecture. 1 Summary Condor:

More information

Chapter 18: Database System Architectures. Centralized Systems

Chapter 18: Database System Architectures. Centralized Systems Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and

More information

Client/Server and Distributed Computing

Client/Server and Distributed Computing Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Traditional

More information

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters COSC 6374 Parallel Computation Parallel I/O (I) I/O basics Spring 2008 Concept of a clusters Processor 1 local disks Compute node message passing network administrative network Memory Processor 2 Network

More information

The Google File System

The Google File System The Google File System By Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung (Presented at SOSP 2003) Introduction Google search engine. Applications process lots of data. Need good file system. Solution:

More information

Intro to GPU computing. Spring 2015 Mark Silberstein, 048661, Technion 1

Intro to GPU computing. Spring 2015 Mark Silberstein, 048661, Technion 1 Intro to GPU computing Spring 2015 Mark Silberstein, 048661, Technion 1 Serial vs. parallel program One instruction at a time Multiple instructions in parallel Spring 2015 Mark Silberstein, 048661, Technion

More information

Scaling Database Performance in Azure

Scaling Database Performance in Azure Scaling Database Performance in Azure Results of Microsoft-funded Testing Q1 2015 2015 2014 ScaleArc. All Rights Reserved. 1 Test Goals and Background Info Test Goals and Setup Test goals Microsoft commissioned

More information

REM-Rocks: A Runtime Environment Migration Scheme for Rocks based Linux HPC Clusters

REM-Rocks: A Runtime Environment Migration Scheme for Rocks based Linux HPC Clusters REM-Rocks: A Runtime Environment Migration Scheme for Rocks based Linux HPC Clusters Tong Liu, Saeed Iqbal, Yung-Chin Fang, Onur Celebioglu, Victor Masheyakhi and Reza Rooholamini Dell Inc. {Tong_Liu,

More information

Network File System (NFS) Pradipta De pradipta.de@sunykorea.ac.kr

Network File System (NFS) Pradipta De pradipta.de@sunykorea.ac.kr Network File System (NFS) Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Network File System Type of Distributed file system NFS protocol NFS cache consistency issue CSE506: Ext Filesystem 2 NFS

More information

Rodrigo Fernandes de Mello, Evgueni Dodonov, José Augusto Andrade Filho

Rodrigo Fernandes de Mello, Evgueni Dodonov, José Augusto Andrade Filho Middleware for High Performance Computing Rodrigo Fernandes de Mello, Evgueni Dodonov, José Augusto Andrade Filho University of São Paulo São Carlos, Brazil {mello, eugeni, augustoa}@icmc.usp.br Outline

More information

Distributed File Systems

Distributed File Systems Distributed File Systems Paul Krzyzanowski Rutgers University October 28, 2012 1 Introduction The classic network file systems we examined, NFS, CIFS, AFS, Coda, were designed as client-server applications.

More information

OVERVIEW. CEP Cluster Server is Ideal For: First-time users who want to make applications highly available

OVERVIEW. CEP Cluster Server is Ideal For: First-time users who want to make applications highly available Phone: (603)883-7979 sales@cepoint.com Cepoint Cluster Server CEP Cluster Server turnkey system. ENTERPRISE HIGH AVAILABILITY, High performance and very reliable Super Computing Solution for heterogeneous

More information

Bosch Video Management System High Availability with Hyper-V

Bosch Video Management System High Availability with Hyper-V Bosch Video Management System High Availability with Hyper-V en Technical Service Note Bosch Video Management System Table of contents en 3 Table of contents 1 Introduction 4 1.1 General Requirements

More information

High Performance Computing with Linux Clusters

High Performance Computing with Linux Clusters High Performance Computing with Linux Clusters Panduranga Rao MV Mtech, MISTE Lecturer, Dept of IS and Engg., JNNCE, Shimoga, Karnataka INDIA email: raomvp@yahoo.com URL: http://www.raomvp.bravepages.com/

More information

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

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun CS550 Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun Email: sun@iit.edu, Phone: (312) 567-5260 Office hours: 2:10pm-3:10pm Tuesday, 3:30pm-4:30pm Thursday at SB229C,

More information

Contents. 2. cttctx Performance Test Utility... 8. 3. Server Side Plug-In... 9. 4. Index... 11. www.faircom.com All Rights Reserved.

Contents. 2. cttctx Performance Test Utility... 8. 3. Server Side Plug-In... 9. 4. Index... 11. www.faircom.com All Rights Reserved. c-treeace Load Test c-treeace Load Test Contents 1. Performance Test Description... 1 1.1 Login Info... 2 1.2 Create Tables... 3 1.3 Run Test... 4 1.4 Last Run Threads... 5 1.5 Total Results History...

More information

Batch Systems. provide a mechanism for submitting, launching, and tracking jobs on a shared resource

Batch Systems. provide a mechanism for submitting, launching, and tracking jobs on a shared resource PBS INTERNALS PBS & TORQUE PBS (Portable Batch System)-software system for managing system resources on workstations, SMP systems, MPPs and vector computers. It was based on Network Queuing System (NQS)

More information

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7 Introduction 1 Performance on Hosted Server 1 Figure 1: Real World Performance 1 Benchmarks 2 System configuration used for benchmarks 2 Figure 2a: New tickets per minute on E5440 processors 3 Figure 2b:

More information

Kerrighed / XtreemOS cluster flavour

Kerrighed / XtreemOS cluster flavour Kerrighed / XtreemOS cluster flavour Jean Parpaillon Reisensburg Castle Günzburg, Germany July 5-9, 2010 July 6th, 2010 Kerrighed - XtreemOS cluster flavour 1 Summary Kerlabs Context Kerrighed Project

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Dynamic Load Balancing in a Network of Workstations

Dynamic Load Balancing in a Network of Workstations Dynamic Load Balancing in a Network of Workstations 95.515F Research Report By: Shahzad Malik (219762) November 29, 2000 Table of Contents 1 Introduction 3 2 Load Balancing 4 2.1 Static Load Balancing

More information

Parallel Processing over Mobile Ad Hoc Networks of Handheld Machines

Parallel Processing over Mobile Ad Hoc Networks of Handheld Machines Parallel Processing over Mobile Ad Hoc Networks of Handheld Machines Michael J Jipping Department of Computer Science Hope College Holland, MI 49423 jipping@cs.hope.edu Gary Lewandowski Department of Mathematics

More information

Web Server (Step 1) Processes request and sends query to SQL server via ADO/OLEDB. Web Server (Step 2) Creates HTML page dynamically from record set

Web Server (Step 1) Processes request and sends query to SQL server via ADO/OLEDB. Web Server (Step 2) Creates HTML page dynamically from record set Dawn CF Performance Considerations Dawn CF key processes Request (http) Web Server (Step 1) Processes request and sends query to SQL server via ADO/OLEDB. Query (SQL) SQL Server Queries Database & returns

More information

Kiko> A personal job scheduler

Kiko> A personal job scheduler Kiko> A personal job scheduler V1.2 Carlos allende prieto october 2009 kiko> is a light-weight tool to manage non-interactive tasks on personal computers. It can improve your system s throughput significantly

More information

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables

More information

Automatic Service Migration in WebLogic Server An Oracle White Paper July 2008

Automatic Service Migration in WebLogic Server An Oracle White Paper July 2008 Automatic Service Migration in WebLogic Server An Oracle White Paper July 2008 NOTE: The following is intended to outline our general product direction. It is intended for information purposes only, and

More information

HPC performance applications on Virtual Clusters

HPC performance applications on Virtual Clusters Panagiotis Kritikakos EPCC, School of Physics & Astronomy, University of Edinburgh, Scotland - UK pkritika@epcc.ed.ac.uk 4 th IC-SCCE, Athens 7 th July 2010 This work investigates the performance of (Java)

More information

ADAM 5.5. System Requirements

ADAM 5.5. System Requirements ADAM 5.5 System Requirements 1 1. Overview The schema below shows an overview of the ADAM components that will be installed and set up. ADAM Server: hosts the ADAM core components. You must install the

More information

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.

More information

Bigdata High Availability (HA) Architecture

Bigdata High Availability (HA) Architecture Bigdata High Availability (HA) Architecture Introduction This whitepaper describes an HA architecture based on a shared nothing design. Each node uses commodity hardware and has its own local resources

More information

Managing your Domino Clusters

Managing your Domino Clusters Managing your Domino Clusters Kathleen McGivney President and chief technologist, Sakura Consulting www.sakuraconsulting.com Paul Mooney Senior Technical Architect, Bluewave Technology www.bluewave.ie

More information

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle Agenda Introduction Database Architecture Direct NFS Client NFS Server

More information

Configuring System Message Logging

Configuring System Message Logging CHAPTER 1 This chapter describes how to configure system message logging on the Cisco 4700 Series Application Control Engine (ACE) appliance. Each ACE contains a number of log files that retain records

More information

Violin: A Framework for Extensible Block-level Storage

Violin: A Framework for Extensible Block-level Storage Violin: A Framework for Extensible Block-level Storage Michail Flouris Dept. of Computer Science, University of Toronto, Canada flouris@cs.toronto.edu Angelos Bilas ICS-FORTH & University of Crete, Greece

More information

Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL

Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL SCHOONER WHITE PAPER Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL About Schooner Information Technology Schooner Information Technology provides

More information

CPU Scheduling Outline

CPU Scheduling Outline CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different

More information

Multi-Threading Performance on Commodity Multi-Core Processors

Multi-Threading Performance on Commodity Multi-Core Processors Multi-Threading Performance on Commodity Multi-Core Processors Jie Chen and William Watson III Scientific Computing Group Jefferson Lab 12000 Jefferson Ave. Newport News, VA 23606 Organization Introduction

More information

Cluster Implementation and Management; Scheduling

Cluster Implementation and Management; Scheduling Cluster Implementation and Management; Scheduling CPS343 Parallel and High Performance Computing Spring 2013 CPS343 (Parallel and HPC) Cluster Implementation and Management; Scheduling Spring 2013 1 /

More information

Resource Utilization of Middleware Components in Embedded Systems

Resource Utilization of Middleware Components in Embedded Systems Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system

More information

Performance And Scalability In Oracle9i And SQL Server 2000

Performance And Scalability In Oracle9i And SQL Server 2000 Performance And Scalability In Oracle9i And SQL Server 2000 Presented By : Phathisile Sibanda Supervisor : John Ebden 1 Presentation Overview Project Objectives Motivation -Why performance & Scalability

More information

Tushar Joshi Turtle Networks Ltd

Tushar Joshi Turtle Networks Ltd MySQL Database for High Availability Web Applications Tushar Joshi Turtle Networks Ltd www.turtle.net Overview What is High Availability? Web/Network Architecture Applications MySQL Replication MySQL Clustering

More information

Using Parallel Computing to Run Multiple Jobs

Using Parallel Computing to Run Multiple Jobs Beowulf Training Using Parallel Computing to Run Multiple Jobs Jeff Linderoth August 5, 2003 August 5, 2003 Beowulf Training Running Multiple Jobs Slide 1 Outline Introduction to Scheduling Software The

More information

Linux Kernel Architecture

Linux Kernel Architecture Linux Kernel Architecture Amir Hossein Payberah payberah@yahoo.com Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management

More information

AirWave 7.7. Server Sizing Guide

AirWave 7.7. Server Sizing Guide AirWave 7.7 Server Sizing Guide Copyright 2013 Aruba Networks, Inc. Aruba Networks trademarks include, Aruba Networks, Aruba Wireless Networks, the registered Aruba the Mobile Edge Company logo, Aruba

More information

Chapter 1 - Web Server Management and Cluster Topology

Chapter 1 - Web Server Management and Cluster Topology Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management

More information

Cluster, Grid, Cloud Concepts

Cluster, Grid, Cloud Concepts Cluster, Grid, Cloud Concepts Kalaiselvan.K Contents Section 1: Cluster Section 2: Grid Section 3: Cloud Cluster An Overview Need for a Cluster Cluster categorizations A computer cluster is a group of

More information

Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer

Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer Version 2.0.0 Notes for Fixpack 1.2.0-TIV-W3_Analyzer-IF0003 Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment

More information

A Comparison of Distributed Systems: ChorusOS and Amoeba

A Comparison of Distributed Systems: ChorusOS and Amoeba A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.

More information

Laboratory Report. An Appendix to SELinux & grsecurity: A Side-by-Side Comparison of Mandatory Access Control & Access Control List Implementations

Laboratory Report. An Appendix to SELinux & grsecurity: A Side-by-Side Comparison of Mandatory Access Control & Access Control List Implementations Laboratory Report An Appendix to SELinux & grsecurity: A Side-by-Side Comparison of Mandatory Access Control & Access Control List Implementations 1. Hardware Configuration We configured our testbed on

More information

Terminal Services for InTouch 7.1/7.11. Terminal Services for InTouch 7.1/7.11 PRODUCT POSITION PRODUCT DATASHEET

Terminal Services for InTouch 7.1/7.11. Terminal Services for InTouch 7.1/7.11 PRODUCT POSITION PRODUCT DATASHEET Terminal Services for InTouch 7.1/7.11 PRODUCT POSITION Terminal Services for InTouch 7.1/7.11 PRODUCT DATASHEET Terminal Services for InTouch 7.1/7.11 provides manufacturing users with all the benefits

More information

Open Text Archive Server and Microsoft Windows Azure Storage

Open Text Archive Server and Microsoft Windows Azure Storage Open Text Archive Server and Microsoft Windows Azure Storage Whitepaper Open Text December 23nd, 2009 2 Microsoft W indows Azure Platform W hite Paper Contents Executive Summary / Introduction... 4 Overview...

More information

159.735. Final Report. Cluster Scheduling. Submitted by: Priti Lohani 04244354

159.735. Final Report. Cluster Scheduling. Submitted by: Priti Lohani 04244354 159.735 Final Report Cluster Scheduling Submitted by: Priti Lohani 04244354 1 Table of contents: 159.735... 1 Final Report... 1 Cluster Scheduling... 1 Table of contents:... 2 1. Introduction:... 3 1.1

More information

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence Exploring Oracle E-Business Suite Load Balancing Options Venkat Perumal IT Convergence Objectives Overview of 11i load balancing techniques Load balancing architecture Scenarios to implement Load Balancing

More information

Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata

Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata Implementing Network Attached Storage Ken Fallon Bill Bullers Impactdata Abstract The Network Peripheral Adapter (NPA) is an intelligent controller and optimized file server that enables network-attached

More information

Hadoop. History and Introduction. Explained By Vaibhav Agarwal

Hadoop. History and Introduction. Explained By Vaibhav Agarwal Hadoop History and Introduction Explained By Vaibhav Agarwal Agenda Architecture HDFS Data Flow Map Reduce Data Flow Hadoop Versions History Hadoop version 2 Hadoop Architecture HADOOP (HDFS) Data Flow

More information

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability

More information

NoSQL Performance Test In-Memory Performance Comparison of SequoiaDB, Cassandra, and MongoDB

NoSQL Performance Test In-Memory Performance Comparison of SequoiaDB, Cassandra, and MongoDB bankmark UG (haftungsbeschränkt) Bahnhofstraße 1 9432 Passau Germany www.bankmark.de info@bankmark.de T +49 851 25 49 49 F +49 851 25 49 499 NoSQL Performance Test In-Memory Performance Comparison of SequoiaDB,

More information

Stream Processing on GPUs Using Distributed Multimedia Middleware

Stream Processing on GPUs Using Distributed Multimedia Middleware Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research

More information

Last Class: Communication in Distributed Systems. Today: Remote Procedure Calls

Last Class: Communication in Distributed Systems. Today: Remote Procedure Calls Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking? Buffered or unbuffered? Reliable or unreliable? Server architecture Scalability Push or pull?

More information

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

More information

Eliminate SQL Server Downtime Even for maintenance

Eliminate SQL Server Downtime Even for maintenance Eliminate SQL Server Downtime Even for maintenance Eliminate Outages Enable Continuous Availability of Data (zero downtime) Enable Geographic Disaster Recovery - NO crash recovery 2009 xkoto, Inc. All

More information

Petascale Software Challenges. Piyush Chaudhary piyushc@us.ibm.com High Performance Computing

Petascale Software Challenges. Piyush Chaudhary piyushc@us.ibm.com High Performance Computing Petascale Software Challenges Piyush Chaudhary piyushc@us.ibm.com High Performance Computing Fundamental Observations Applications are struggling to realize growth in sustained performance at scale Reasons

More information

An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide An Oracle White Paper July 2011 1 Disclaimer The following is intended to outline our general product direction.

More information

IT service for life science

IT service for life science anterio performs research in the field of molecular modelling including computer-aided drug design. With our experience in these fields we help customers to implement an IT infrastructure to aid these

More information

Sybase Software Asset Management (SySAM)

Sybase Software Asset Management (SySAM) Users Guide Sybase Software Asset Management (SySAM) 2.0 DOCUMENT ID: DC00530-01-0200-03 LAST REVISED: August 2008 Copyright 2008 by Sybase, Inc. All rights reserved. This publication pertains to Sybase

More information

Condor and the Grid Authors: D. Thain, T. Tannenbaum, and M. Livny. Condor Provide. Why Condor? Condor Kernel. The Philosophy of Flexibility

Condor and the Grid Authors: D. Thain, T. Tannenbaum, and M. Livny. Condor Provide. Why Condor? Condor Kernel. The Philosophy of Flexibility Condor and the Grid Authors: D. Thain, T. Tannenbaum, and M. Livny Presenter: Ibrahim H Suslu What is Condor? Specialized job and resource management system (RMS) for compute intensive jobs 1. User submit

More information

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

Question: 3 When using Application Intelligence, Server Time may be defined as. 1 Network General - 1T6-521 Application Performance Analysis and Troubleshooting Question: 1 One component in an application turn is. A. Server response time B. Network process time C. Application response

More information

Distributed Systems. Clusters. Paul Krzyzanowski pxk@cs.rutgers.edu

Distributed Systems. Clusters. Paul Krzyzanowski pxk@cs.rutgers.edu Distributed Systems Clusters Paul Krzyzanowski pxk@cs.rutgers.edu Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License. Designing highly

More information

Removing Performance Bottlenecks in Databases with Red Hat Enterprise Linux and Violin Memory Flash Storage Arrays. Red Hat Performance Engineering

Removing Performance Bottlenecks in Databases with Red Hat Enterprise Linux and Violin Memory Flash Storage Arrays. Red Hat Performance Engineering Removing Performance Bottlenecks in Databases with Red Hat Enterprise Linux and Violin Memory Flash Storage Arrays Red Hat Performance Engineering Version 1.0 August 2013 1801 Varsity Drive Raleigh NC

More information

Directions for VMware Ready Testing for Application Software

Directions for VMware Ready Testing for Application Software Directions for VMware Ready Testing for Application Software Introduction To be awarded the VMware ready logo for your product requires a modest amount of engineering work, assuming that the pre-requisites

More information

Study and installation of a VOIP service on ipaq in Linux environment

Study and installation of a VOIP service on ipaq in Linux environment Study and installation of a VOIP service on ipaq in Linux environment Volkan Altuntas Chaba Ballo Olivier Dole Jean-Romain Gotteland ENSEIRB 2002 Summary 1. Introduction 2. Presentation a. ipaq s characteristics

More information