Advanced Computer Architecture Seminar

AKA, "Distributed Memory Management in Cluster Server Computing Architecture"

- Instructor

Dr. Jeong-Gun Lee, Associate Professor, Dept. of Computer Engineering (Web).

Phone: 010-3840-SIX SEVEN SIX FIVE

Office: 1306 Engineering Build.

Email: Jeonggun.Lee@gmail.com

- Time & Lecture Room

- Time: 1:30 PM - 4:00 PM Wednesday.

- Lecture Room: 1219 Sungho Building.

- Goal/Mission

In this semester, we will focus on the topic, "Distributed Shared Memory on a Computing Cluster".

Each student is supposed to read relevant papers and has to present it in detail.

- Students can choose the language to present MS PowerPoint Presentation and write a report.

- Please use English as much as you can in the presentation material so that other non-native students can understand your presentation.

The papers you select should be strongly related with "Distributed Shared Memory (DSM)" or "Memory Consistency" and "Memory Caching". The journal papers are preferred to be presented with full details and full understandings.

You can contact me to talk about the paper you want to present.

For a course project, I recommend you to choose any open-source DSM code and analyse/extend it.

Depending on the quality or level of the source code you find, the code can be extended to include more functions properly. To find DSM open source, you can try to search well-known Github or code.google.com or any web sites.

* Project can be one of the following types.

(1)- In-depth survey of well-known big distributed shared memory package with some investigation / understanding of the source code internals: Memcached, Redis, etc.

(2)- In-depth survey of general distributed shared memory systems: Paper work oriented (More than 30 pages of a report).

(3)- Survey of distributed shared memory and open-source DSM code analysis and extension.

- Schedule

* First Half (Survey Phase)

1. 2 Sep.: Introduction to Course (Dr. J.G. Lee). Now you have to start to find any relevant papers on the topic.

2. 9 Sep.: Introduction to Parallel and Distributed Computing Systems. (Dr. J.G. Lee)

3. 16 Sep.: Memory Coherence in Parallel and Distributed Computing Systems. (Dr. J.G. Lee)

4. 18 September (Friday)

- Dr. J.G. Lee: DSM + Youtube Video on (1) DSM and (2) Memory Consistency Model

- Dam Minh Tung: Distributed Shared Memory: A Survey of Issues and Algorithms

5-1. 30 September

- 이재구: Distributed Shared Memory: Concepts and Systems

- 오수진: Chunk: A Framework for Modular Distributed Shared Memory Systems

5-2. 1 October (From 7:00 PM)

- Toan Nguyen Van: Shared Memory And Distributed Shared Memory Systems: A Survey

6. 7 October

- 유영준: Linux Kernel Memory Management

7. 14 October

- 유영준: Distributed Shared Memory in Kernel Mode

- 박천덕: Improving Performance of OpenMP for SMP Clusters through Overlapped Page Migrations

- Dr. J.G. Lee: Source Code Analysis of One Simple DSM: Master-Slave Version (Link, Similar but Improved Version HERE)

- 임태성: Distributed Shared Memory: A Review

- 김영대: Memory Coherence in Shared Virtual Memory Systems

8. 21 October (Source Code Analysis)

- Distributed Shared Memory application: Looks good source code 1 / Or THIS ?

9. Project Initiation and Evaluation (By Professor and students)

* Project Assignment

- 유영준 : Caltech DSM

- 박천덕 : 최신 DSM or 분산 캐쉬 연구동향

- 김영대 : Memcached Case Study (Memcached에 대한 분석 자료 작성)

- 이재구 + 오수진 + 임태성 : Jiajia (Big) Most Challenging Task ! --> Github LINK1 and LINK2

- Dam Minh Tung + Toan Nguyen Van: Memory Consistency Model Survey

- Further rearrangement possible to this assignment

* MiDSM: https://github.com/ZeyuMi/MiDSM

* Distributed Shared Memory over IP Networks

* Second Half (Analysis & Implementation Phase)

9. 4 Nov. : Project Progress (By students)

서베이팀: Anything to Present ?

- 박천덕 : 최신 DSM or 분산 캐쉬 연구동향

+ 미니멈) 보내준 논문 두편에 대한 동향, 개략적 아이디어 발표

- 김영대 : Memcached Case Study (Memcached에 대한 분석 자료 작성)

+ Memory Management (Slab 에 대한 자세한 분석)

- Dam Minh Tung + Toan Nguyen Van: Memory Consistency Model Survey

소스분석팀: Progress Report or Some more thing ?

- 유영준 : 진행 상황, Caltech DSM

최신 리눅스로의 포팅이 불가. 이전 칼텍 DSM이 개발된 리눅스에서 포팅후, 가상머신에서 소수의 서버를 생성한 후, DSM을 돌려보기

+ 보다 자세한 소스 분석, 동작 방식 설명하기

- 이재구 + 오수진 + 임태성 : 진행상황, Jiajia (Big) Most Challenging Task ! --> Github LINK1 and LINK2

Jiajia 개념적 설명, 적용된 메모리 일관성 (Scope Consistency, a kind of Lazy Release Consistency)

Home-based, Homeless, Home Migration, Migrating Home.

+ Jia API 분석

10. 11 Nov. : Project Progress (By students)

서베이팀: Anything to Present ?

- 박천덕 : 최신 DSM or 분산 캐쉬 연구동향

+ 미니멈) 보내준 논문 두편에 대한 동향, 개략적 아이디어 발표

+ 이번주 산업동향 설명, 다음주는 논문쪽으로!!!

- 김영대 : Memcached Case Study (Memcached에 대한 분석 자료 작성)

+ Memory Management (Slab 에 대한 자세한 분석)

+ Memcached 분석안했음! 그래서 두배의 내용을 발표하겠다고 함! + 리포트 작성

- Dam Minh Tung + Toan Nguyen Van: Memory Consistency Model Survey

+ Sequential Consistency, Release Consistency...

+ More models !!!

소스분석팀: Progress Report or Some more thing ?

- 유영준 : 진행 상황, Caltech DSM

최신 리눅스로의 포팅이 불가. 이전 칼텍 DSM이 개발된 리눅스에서 포팅후, 가상머신에서 소수의 서버를 생성한 후, DSM을 돌려보기

+ 보다 자세한 소스 분석, 동작 방식 설명하기

+ 소스 내용 분석

- 이재구 + 오수진 + 임태성 : 진행상황, Jiajia (Big) Most Challenging Task ! --> Github LINK1 and LINK2

Jiajia 개념적 설명, 적용된 메모리 일관성 (Scope Consistency, a kind of Lazy Release Consistency)

Home-based, Homeless, Home Migration, Migrating Home.

+ Jia API 분석

+ 다음주 연기!

11. 18 Nov. : Project Progress (By students)

12. 25 Nov. : Project Progress (By students)

13. 2 Dec. : Project Progress (By students)

14. 9 Dec. : Project Progress (By students)

15. 16 Dec. Project Final Presentation (By students)

- Evaluation

* Presentation (50%) + Project (50%)

* Full detailed final report more than 20 pages on your project should be submitted to complete this course.

- Recommend Paper Reading List / or You can choose any paper related to DSM !

* Latency-Tolerant Software Distributed Shared Memory

* TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems

* Implementation of Atomic Primitives on Distributed Shared Memory Multiprocessors

* Combining CompileTime and RunTime Support for Efficient Software Distributed Shared Memory

>> Assigned

* Object-Based Consistency in a Distributed Shared Memory (Assigned to Undergraduate - Taesung Im)

* Distributed Shared Memory in Kernel Mode (Assigned to Youngjoon Yoo: Also present LINUX Kernel Memory Management together)

* Distributed Shared Memory: Concepts and Systems (이재구)

* Chunk: A Framework for Modular Distributed Shared Memory Systems (오수진)

* Distributed Shared Memory: A Review (임태성)

* A Comparative Analysis of Performance of Shared Memory Cluster Computing Interconnection Systems (이재구)

* Distributed Shared Memory: A Survey of Issues and Algorithms (Dam Minh Tung)

* Shared Memory And Distributed Shared Memory Systems: A Survey (Toan Nguyen Van)

* Enabling Java for High-Performance Computing: Exploiting Distributed Shared Memory and Remote Method Invocation (오수진)

* Memory Coherence in Shared Virtual Memory Systems (김영대, Can be presented in two continuous slots)

* Improving Performance of OpenMP for SMP Clusters through Overlapped Page Migrations (박천덕)

- Reference

* Memcached

* Redis

* ScaleMP

* CC-NUMA

* Memory Coherence

* Cache Coherence

* DOSMOS (Distributed Objects Shared MemOry System, LINK)

* Youtube: 멀티쓰레드 프로그래밍이 왜 이렇게 어려운가요 ? <-- Memory Consistency Related Race Problems are discussed in Korean.

* Synchronization Example Source Code (HERE)

- Enrolled Student List ( Luck number 7 ! )

* B13503 김영대

* D14027 유영준

* D15017 박천덕

* D15517 DAM MINH TUNG

* D15520 Toan Nguyen Van

* M15521 오수진

* M15522 이재구

* Undergraduate - Taesung Im