병렬 처리/컴퓨터 기초.

Slides:



Advertisements
Similar presentations
A 장형태.  병행프로세스 개요  상호배제 (Mutual Exclusion)  상호배제 ( 세마포어 )  모니터 (monitor)  프로세스간 2 가지 통신방법.
Advertisements

1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
한국마이크로소프트 Microsoft Confidential. 상세 결과테스트 결과 SMB 2 의 성능이 Windows Server 2008 Beta 3 기준으로 Windows Server 2003 SP1 (SMB 1) 에 비해 9% 이상 향상된 결과를 보임 Microsoft.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
컴퓨터와 인터넷.
Part TCP / IP(계속) 3. IP 주소 4. IP 라우팅 5. 응용 프로토콜.
6주차:『GPU(CUDA) Programming』
네트워크 기술을 통한 현재와 미래 소개.
뇌를 자극하는 Windows Server 2012 R2
1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Operating Systems Overview
컴퓨터 프로그래밍 기초 [Final] 기말고사
08. 디바이스 드라이버의 읽기와 쓰기 김진홍
Learning Classifier using DNA Bagging
Lecture #10 제8장 병렬컴퓨터 구조.
제8장 병렬컴퓨터 구조.
14장. 병렬 프로세서 다루는 내용 병렬 프로세서로의 개념 병렬 처리와 병렬 컴퓨터 분류 배열 프로세서와 다중 프로세서의 개념
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
임베디드 시스템.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
11 장 LAN 기본 개념과 Ethernet LAN
1. C++ 시작하기.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
컴퓨터과학 전공탐색 배상원.
NJM Messenger 박상원 박연호.
HDFS와 대용량 데이터 처리 콘텐츠서비스연구팀 최완.
Central Gas Monitoring System 2005
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
P2P시스템에 대해서 (peer to peer)
자바 5.0 프로그래밍.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
Cache Manager Yonghyun Kim Microsoft MVP Dev 5 team leader, ESTsoft
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
제19강 병렬처리시스템 1.
29강 JAVA 스레드 - 스레드란? - 멀티스레드 문법 - synchronized Lecturer Kim Myoung-Ho
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
병행 프로세스 이나현.
제16,17,18장 분산 시스템.
‘Chess’를 읽고 컴퓨터공학부 배상수.
논리회로 설계 및 실험 5주차.
2019년도 전자정보공학과 이수체계도 1학년(트랙) 2학년(트랙) 3학년(트랙) 4학년 1학기 2학기 1학기 2학기 1학기
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
ATmega128의 특징 아이티즌 기술연구소
Self Introduction Template PowerPoint
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
병행프로세스의개요 주세호.
모바일인터넷기초 전산정보학부 모바일인터넷과 권 춘 우
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
AT MEGA 128 기초와 응용 I 기본적인 구조.
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
Map Designer Solution 소개자료
발표자 : 이지연 Programming Systems Lab.
.Net FrameWork for Web2.0 한석수
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
Completion Port기반의 채팅프로그램
CHAP 15. 데이터 스토리지.
인하공업전문대학 (2018-2학기) ATmega128 마이크로 프로세서 정보통신과 박기식 교수.
CODE INJECTION 시스템B 김한슬.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Windows XP Professional 장점
병행 프로세스(Parallel Process)
Presentation transcript:

병렬 처리/컴퓨터 기초

병렬처리 개요 멀티프로세서/병렬컴퓨터 (Multiprocessor) : Parallel processors with a single shared address. 병렬처리 프로그램 (parallel processing program) : A single program that runs on multiple processors simultaneously. 클러스터 (cluster) : A set of computers connected over a local area network (LAN) that function as a single large multiprocessor. 멀티프로세서와 클러스터를 설계/구성할 때 생각해야할 중요한 이슈는 : 1) How do parallel processors share data? 2) How do parallel processors coordinate? 3) How many processors?

슈퍼컴퓨터가 채용한 멀티프로세서 형태 상황

How do parallel processors share data? 어떻게 데이터를 공유하고 관리하는 가에 따라 병렬프로세서는 2 형태로 나뉜다. 1) Shared Memory 2) Message Passing Shared Memory Processor (Single Address Space) : 여러 프로세서들이 서로 공유하고 있는 메모리(변수)를 통해서 데이터를 공유한다. (이를 이해하기 위해서 프로그램에서 전역변수 (Global Variable) 또는 객체지향 프로그램에서 Static Variable 을 연상하기 바란다) 1) SMP/UMA (Symmetric MultiProcessor, Uniform Memory Access) : same time to access main memory no matter which processor requests it and no matter which word is requested. 2) NUMA (Non Uniform Memory Access) : 프로세서의 위치와 요구하는 데이터에 따라 메모리 액세스 시간 차이가 있는 것 Message Passing Multiprocessor (프로세서들이 각기 고유의 메모리 지님) : Cluster에서와 같이 각 프로세서들이 send 및 receive 메시지를 주고 받으면서 교신을 하면 보조를 맞춤.

Shared Memory 멀티프로세서의 메모리 액세스 시간 및 통신방식의 따른 멀티프로세서 구분

멀티프로세서 확산의 걸림돌 : 프로그래밍 멀티프로세서가 제 성능을 보이려면 멀티프로세서의 특성을 잘 활용하는 프로그램이 선행되어야 한다. 그런데, 이런 프로그램을 구현하는 것이 간단하지 않다. 1) 통신 오베헤드: 다수의 프로세서들이 서로 필요로 하는 데이터를 교환하고 통제하는 것 2) 멀티프로세서의 하드웨어/아키텍쳐에 대한 이해 필요 : 단일 프로세서에서는 이 일은 대부분 컴파일러가 알아서 해결해 주므로 프로그래머는 신경 쓰지 않음. 3) 병렬처리 알고리즘 설계 : 매우 까다로움

버스방식의 멀티 프로세서 각 프로세서들이 고유의 캐시를 갖고 있으면서 메모리 액세스가 대부분 캐시에서 처리된다. 고유한 별도의 (Private) 캐시를 갖는 멀티프로세서에서와 같이 버스 방식의 멀티프로세서들은 각 캐시에 있는 데이터들의 일치성 (Cache Coherence) 을 제공해야 한다. - Snooping : 버스를 모니터하면서 캐시에 있는 데이터가 유효한지… - Semaphore : 프로그램에서 프로세스 통제

네트워크로 연결된 멀티프로세서

멀티 프로세서 구분

현재 가장 일반적으로 쓰이고 있는 멀티프로세서 형태 SMP 는 shared memory 멀티프로세서로 대부분 같은 컴퓨터 본체에 구현된다. 데이터 교환은 버스나 네트워크를 활용. - The most critical problem in SMP design is cache coherency. Cluster is a group of interconnected, whole computers working as a unified computing resource. A NUMA system is a shared-memory multiprocessor in which the access time from a given processor to a memory word varies with the location of the memory word.