Dcc

16
buted C Compile System on Coord Team XID Lee Won Guk Kim Dong Soo Lee Kyung Young Lee Hang Seok Park Hyun Joong

description

distributed compile system

Transcript of Dcc

Page 1: Dcc

buted C Compile System on Coord

Team XID

Lee Won GukKim Dong SooLee Kyung YoungLee Hang SeokPark Hyun Joong

Page 2: Dcc

[마스터편집] 여기에 제목을 기입하세요

Contents

• Introduction

• What is Coord

• DCC: Architecture

• distcc: Job scheduling

• DCC: Job scheduling

• DCC: Sequence

• User interface

• Reference

Page 3: Dcc

[마스터편집] 여기에 제목을 기입하세요

Motives

Advantages

Decreased wait time for builds

Introduction

Our System is

Based on Coord, open source for distributed environment of NHN

Faster time-to-market

Complex and massive softwares

Very long compile time

Idle low spec machines

Page 4: Dcc

[마스터편집] 여기에 제목을 기입하세요

A space-based architecture built on distributed hash tables

SBA(Space-based Architecture) –processes communicate with others thru. only spaces

DHT(Distributed Hash Tables) –data identified by hash functions are placed on numerically near nodes

A computing platform to project a single address space on distributed memoriesAs if users worked in a single computing environment

Coord

What Is Coord

Simple APIswrite: write an objectread: read a copy of an objecttake: read an object & delete it

Coord = SBA + DHTsimple to use scale well to large numbers of nodes locate data with low latencybalance the distribution of data evenly amongst the participating nodeshandle node join/leave scalablyease the maintenance of per-node routing Tables

Page 5: Dcc

[마스터편집] 여기에 제목을 기입하세요

Coord Applications

Provide inter-process communication, resource share, and synchronization thru. the space

Support a variety of distributed programming models with only simple API(write/read/take)

Proper for general-purpose distributed programming as well as data-/computation-intensive distributed programming

Coordhides some complicated codes for network programming

The peers don’t need to recognize each other since Coordprovides time-/location-decoupling

What Is Coord

Client-Server

Master-Worker -provide a scalable framework for parallel processing

Scatter-Gather -provide an on-the-flyframework for data exchange

Map-Reduce -provide a simplified framework for massive data processing

Page 6: Dcc

[마스터편집] 여기에 제목을 기입하세요

What Is Coord

Master-Worker Model

Instantiate a virtual space

Set some keys

a key to write/take jobs

different keys to take/write results

Perform tasks in parallel

Page 7: Dcc

[마스터편집] 여기에 제목을 기입하세요

Scatter-Gather Model

What Is Coord

Master-Worker ModelClient-Server Model

Master-Worker Model

Page 8: Dcc

[마스터편집] 여기에 제목을 기입하세요

DCC Architecture

Page 9: Dcc

[마스터편집] 여기에 제목을 기입하세요

Distcc Job Scheduling

Deamon 1

Host1

Deamon 2

Deamon 3

Deamon 4

Deamon 1

Host2

Deamon 2

Deamon 3

Deamon 4

distcc is a program to distribute builds of C, C++

C or C++ code across several machines on a network

Page 10: Dcc

[마스터편집] 여기에 제목을 기입하세요

DCC Job Scheduling

Master

Worker

Worker

Worker Worker

Worker

Resource list Request

Request Job

Coordinatorjob request

Page 11: Dcc

[마스터편집] 여기에 제목을 기입하세요

MAKEFILE

Job Job Job Job

Job Job Job Job

Job Job Job Job

Job Job Job Job

Job Job Job Job

Job Job Job Job

Step 1 Generate Job

DCC Sequence

Page 12: Dcc

[마스터편집] 여기에 제목을 기입하세요

Step 2 Indicate Jobs

Remote

Local

Remote

DCC Sequence

Page 13: Dcc

[마스터편집] 여기에 제목을 기입하세요

• Maintenance of Load-

balancing

• Distributed Preprocessing

• Process Pool

Step 3 Execute Jobs

DCC Sequence

Page 14: Dcc

[마스터편집] 여기에 제목을 기입하세요

DCC Sequence

Step 3 Execute Jobs

Page 15: Dcc

[마스터편집] 여기에 제목을 기입하세요

User Interface

Page 16: Dcc

[마스터편집] 여기에 제목을 기입하세요

Developing Environment

Tools

Bibliography

CentOS ver. 5.3 (Linux kernel 2.6)

VIM 7.0, gedit, Eclipse

Code::Blocks IDE

wxGTK 2.8.10

Coord ver.0.3

C++ 를 이용한 크로스 플랫폼 개발

C++ Standard Library 튜토리얼 레퍼런스

Linux Programming 4th Edition

Reference