A Threaded DSM Based On Adsmith

碩士 === 國立清華大學 === 資訊科學研究所 === 85 ===   In cluster computing, a collection of computers are interconnected through networks to be used as a concurrent computation engine. As the performance of computers advances and the use of networks is widely spreading, cluster computing is becoming an affordable...

Full description

Bibliographic Details
Main Author: 留智文
Other Authors: Tang, Chuan-Yi
Format: Others
Language:en_US
Published: 1997
Online Access:http://ndltd.ncl.edu.tw/handle/53474878423196151079
id ndltd-TW-085NTHU3394009
record_format oai_dc
spelling ndltd-TW-085NTHU33940092015-10-13T18:05:33Z http://ndltd.ncl.edu.tw/handle/53474878423196151079 A Threaded DSM Based On Adsmith 以Adsmith為基礎的多緒分散式共享計憶體 留智文 碩士 國立清華大學 資訊科學研究所 85   In cluster computing, a collection of computers are interconnected through networks to be used as a concurrent computation engine. As the performance of computers advances and the use of networks is widely spreading, cluster computing is becoming an affordable and powerful platform for distributed memory parallel processing. Message passing is usually used to communicate between computer nodes in cluster computing. Unfortunately, programming with message passing is error-prone, tedious and hard to debug. A distributed shared memory (DSM) system provides users a logical global shared memory abstraction on top of the distributed memory cluster. It releases programmers from the burden of taking care of data flows and allocation explicitly.   A major drawback with the cluster computing approach is the high communication overhead incurred in the system software and in the interconnection networks. Unfortunately, typical communications in parallel programs transmit frequent but short messages. It is very difficult to execute these programs efficiently on cluster ocmputing environments. One solution is to hide the long communication overhead by overlapping computation with communication.   Multithreading is one of the best candidates for this purpose. We have implemented a thread-based DSM called Adsmith+. Adsmith+ was developed by integrating Adsmith, a DSM system built on top of PVM, with Pthread. Through PVM and Pthread, Adsmith+ is very portable and it supports efficient parallel programming through the overlap between computation and communication.   Unfortunately, PVM and Adsmith are not thread safe. To support multithread applications, we must address the reentrance problem, message buffering and dispatching, and other related issues. In this thesis, we will examine the issues caused by the extension of an existing DSM to a multithreaded system, and introduce our solutions. Implementation details of Adsmith+ will be described. Preliminary performance results show that Adsmith+ is able to hide the latency of communication and improve program performance. Tang, Chuan-Yi 金仲達 1997 學位論文 ; thesis 42 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 碩士 === 國立清華大學 === 資訊科學研究所 === 85 ===   In cluster computing, a collection of computers are interconnected through networks to be used as a concurrent computation engine. As the performance of computers advances and the use of networks is widely spreading, cluster computing is becoming an affordable and powerful platform for distributed memory parallel processing. Message passing is usually used to communicate between computer nodes in cluster computing. Unfortunately, programming with message passing is error-prone, tedious and hard to debug. A distributed shared memory (DSM) system provides users a logical global shared memory abstraction on top of the distributed memory cluster. It releases programmers from the burden of taking care of data flows and allocation explicitly.   A major drawback with the cluster computing approach is the high communication overhead incurred in the system software and in the interconnection networks. Unfortunately, typical communications in parallel programs transmit frequent but short messages. It is very difficult to execute these programs efficiently on cluster ocmputing environments. One solution is to hide the long communication overhead by overlapping computation with communication.   Multithreading is one of the best candidates for this purpose. We have implemented a thread-based DSM called Adsmith+. Adsmith+ was developed by integrating Adsmith, a DSM system built on top of PVM, with Pthread. Through PVM and Pthread, Adsmith+ is very portable and it supports efficient parallel programming through the overlap between computation and communication.   Unfortunately, PVM and Adsmith are not thread safe. To support multithread applications, we must address the reentrance problem, message buffering and dispatching, and other related issues. In this thesis, we will examine the issues caused by the extension of an existing DSM to a multithreaded system, and introduce our solutions. Implementation details of Adsmith+ will be described. Preliminary performance results show that Adsmith+ is able to hide the latency of communication and improve program performance.
author2 Tang, Chuan-Yi
author_facet Tang, Chuan-Yi
留智文
author 留智文
spellingShingle 留智文
A Threaded DSM Based On Adsmith
author_sort 留智文
title A Threaded DSM Based On Adsmith
title_short A Threaded DSM Based On Adsmith
title_full A Threaded DSM Based On Adsmith
title_fullStr A Threaded DSM Based On Adsmith
title_full_unstemmed A Threaded DSM Based On Adsmith
title_sort threaded dsm based on adsmith
publishDate 1997
url http://ndltd.ncl.edu.tw/handle/53474878423196151079
work_keys_str_mv AT liúzhìwén athreadeddsmbasedonadsmith
AT liúzhìwén yǐadsmithwèijīchǔdeduōxùfēnsànshìgòngxiǎngjìyìtǐ
AT liúzhìwén threadeddsmbasedonadsmith
_version_ 1718028478104731648