• 제목/요약/키워드: multithreaded model

검색결과 11건 처리시간 0.022초

다중스레드 모델의 성능 향상을 위한 가용 레지스터 기반 캐슁 기법 (A Register-Based Caching Technique for the Advanced Performance of Multithreaded Models)

  • 고훈준;권영필;유원희
    • 정보처리학회논문지A
    • /
    • 제8A권2호
    • /
    • pp.107-116
    • /
    • 2001
  • A multithreaded model is a hybrid one which combines locality of execution of the von Neumann model with asynchronous data availability and implicit parallelism of the dataflow model. Much researches that have been made toward the advanced performance of multithreaded models are about the cache memory which have been proved to be efficient in the von Neumann model. To use an instruction cache or operand cache, the multithreaded models must have cache memories. If cache memories are added to the multithreaded model, they may have the disadvantage of high implementation cost in the mode. To solve these problems, we did not add cache memory but applied the method of executing the caching by using available registers of the multithreaded models. The available register-based caching method is one that use the registers which are not used on the execution of threads. It may accomplish the same effect as the cache memory. The multithreaded models can compute the number of available registers to be used during the process of the register optimization, and therefore this method can be easily applied on the models. By applying this method, we can also remove the access conflict and the bottleneck of frame memories. When we applied the proposed available register-based caching method, we found that there was an improved performance of the multithreaded model. Also, when the available-register-based caching method is compared with the cache based caching method, we found that there was the almost same execution overhead.

  • PDF

A Process Algebra-Based Detection Model for Multithreaded Programs in Communication System

  • Wang, Tao;Shen, Limin;Ma, Chuan
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제8권3호
    • /
    • pp.965-983
    • /
    • 2014
  • Concurrent behaviors of multithreaded programs cannot be described effectively by automata-based models. Thus, concurrent program intrusion attempts cannot be detected. To address this problem, we proposed the process algebra-based detection model for multithreaded programs (PADMP). We generate process expressions by static binary code analysis. We then add concurrency operators to process expressions and propose a model construction algorithm based on process algebra. We also present a definition of process equivalence and behavior detection rules. Experiments demonstrate that the proposed method can accurately detect errors in multithreaded programs and has linear space-time complexity. The proposed method provides effective support for concurrent behavior modeling and detection.

Design and Implementation of a Massively Parallel Multithreaded Architecture: DAVRID

  • Sangho Ha;Kim, Junghwan;Park, Eunha;Yoonhee Hah;Sangyong Han;Daejoon Hwang;Kim, Heunghwan;Seungho Cho
    • Journal of Electrical Engineering and information Science
    • /
    • 제1권2호
    • /
    • pp.15-26
    • /
    • 1996
  • MPAs(Massively Parallel Architectures) should address two fundamental issues for scalability: synchronization and communication latency. Dataflow architecture faces problems of excessive synchronization overhead and inefficient execution of sequential programs while they offer the ability to exploit massive parallelism inherent in programs. In contrast, MPAs based on von Neumann computational model may suffer from inefficient synchronization mechanism and communication latency. DAVRID (DAtaflow/Von Neumann RISC hybrID) is a massively parallel multithreaded architecture which takes advantages of von Neumann and dataflow models. It has good single thread performance as well as tolerates synchronization and communication latency. In this paper, we describe the DAVRID architecture in detail and evaluate its performance through simulation runs over several benchmarks.

  • PDF

다중스레드 모델의 스레드 코드를 안전한 자바 바이트코드로 변환하기 위한 번역기 설계 (Design of Translator for generating Secure Java Bytecode from Thread code of Multithreaded Models)

  • 김기태;유원희
    • 한국산업정보학회:학술대회논문집
    • /
    • 한국산업정보학회 2002년도 춘계학술대회 논문집
    • /
    • pp.148-155
    • /
    • 2002
  • 다중스레드 모델은 데이터플로우 모델의 내부적인 병렬성, 비동기적 자필 가용성과 폰 노이만 모델의 실행 지역성을 결합하여 병렬처리 시스템의 성능을 향상시켰다. 이 모델은 프로그램의 실행을 위하여 컴파일러에 의해 생성된 스레드를 수행하며, 스레드의 생성 방법에 따라 자원 활용 빈도나 동기화 빈도와 같은 스레드의 질이 결정되는 특징이 있다. 하지만 다중스레드 모델은 실행 모델이 특정 플랫폼에 제한되는 단점을 가지고 있다. 이에 반해 자바는 플랫폼에 독립적인 특징을 가지고 있어 다중스레드 모델의 스레드 코드를 실행 단위인 자바 언어로 변환하면 다중스레드 모델의 특징을 여러 플랫폼에서 수정 없이 사용할 수 있게 된다. 자바는 원시 언어를 중간 언어 형태의 바이트코드로 변환하여 각 아키텍처에 맞게 설계된 자바 가상 머신이 설치된 시스템에서 자바 언어를 수행한다. 이러한 자바 언어의 바이트코드는 번역기의 중간 언어와 같은 역할을 수행하고, 이때 자바 가상 머신은 번역기의 후위부와 같은 역할을 한다. 스레드 코드에서 번역된 자바 바이트코드는 다양한 플랫폼에서 실행될 수 있다는 장점은 있지만 신뢰할 수 없다는 만점이 있다. 또한 자바 언어 자체의 문제에 의해 안전하지 못한 코드가 생성 될 수도 있다. 본 논문은 다중스레드 코드가 플랫폼에 독립적인 특성을 갖출 수 있도록 다중스레드 코드를 자바 가상 머신에서 실행 가능하도록 한다. 또한 번역시에 자바에서 발생할 수 있는 문제들을 고려하여 안전한 바이트코드를 생성한다. 즉, 다중스레드 모델의 스레드 코드를 플랫폼에 독립적이고 외부 공격으로부터 안전한 자바 바이트코드로 변환하는 번역기를 선계, 구현한다.구센타와 병원간에 임상정보와 유전체 분석정보의 공유가 필수적으로 발생하게 됨으로, 유전체 정보와 임상정보의 통합은 미래 의료환경에 필수기능이 될 것이다. 3) 각 생명공학 연구소에서 사용하는 첨단 분석 장비와 생명공학 정보시스템의 자동 연계가 필요하다. 현재 국내에는 전국적인 초고속정보망이 가동되어 웹을 기반으로 하는 생명정보의 공유는 기술적으로 문제가 될 수 없으나 임상정보의 유전체연구에 그리고 유전체연구정보의 임상활용은 다양한 문제를 내포하고 있다. 이에 영상을 포함한 환자정보의 유전체연구센터와 병원정보시스템과의 효율적인 연계통합 운영을 위해 국내에서는 초기 도입단계에 있는 국제적인 보건의료정보의 표준인 Health Level 7 (textural information 공유), DICOM (image 및 wave 공유), 관련 ISO표준, WHO의 ICD9/10 (질병분류), LOINC (검사 및 관련용어), SNOMED International (의학용어) 등을 활용하여야 한다.matrix. The prediction system gives about 50% of sensitivity and 98% of specificity, Based on the PID matrix, we develop a system providing several interaction information-finding services in the Internet. The system, named PreDIN (Prediction-oriented Database of Interaction Network) provides interacting domain finding

  • PDF

다중스레드 계산 모델을 이용한 병렬 객체 지향 프로그래밍 환경의 구현 및 성능 평가 (Implementation and Performance Evaluation of an Object-Oriented Parallel Programming Environment with Multithreaded Computational Model)

  • 송종훈;김흥환;한상영
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제5권6호
    • /
    • pp.708-718
    • /
    • 1999
  • 본 논문에서 제안하는 시스템은 일반적인 병렬 시스템의 하드웨어 구조에서, 다중 스레드 계산 모델을 이용하여 객체 지향 프로그래밍 환경을 구현한 시스템이다. 제안하는 시스템을 효과적으로 구현하기 위하여 컴파일러와 실행 시간 시스템의 측면에서 여러 가지 기법을 제시한다. 컴파일러의 측면에서는 멤버 변수의 접근 분석, 메소드의 병렬성 분석 기법을 제시하고, 실행 시간 시스템에서는 실시간 스레드/메시지 결합, 프레임 공유 기법을 제시한다. 본 논문에서 제안된 프로그래밍 환경은, MPI 메시지 인터페이스를 이용하여 구현하였으며, 벤치마크 프로그램을 실행함으로써 성능 분석을 하였다. 분석의 결과는 실행시간 시스템의 여러 가지 기법들이 성능 향상에 많은 효과가 있음을 보여주며, 이러한 결과는 일반적인 병렬 시스템에서도 적용 가능하다.Abstract In this paper, we suggest an object-oriented programming environment with multithreaded computation model on general parallel processing systems. We developed many methods for our environment to be efficient : in compiler, the analysis of member variable and method parallelism, and in runtime system, thread/message merging and frame sharing. The programming environment is implemented with MPI message interface, and its performance is analyzed with executing benchmark programs. The results show that the developed methods have influence on performance improvement, and this improvement can be applied to general parallel processing systems.

벡타 연산을 효율적으로 수행하기 위한 다중 스레드 구조 (A Multithreaded Architecture for the Efficient Execution of Vector Computations)

  • 윤성대;정기동
    • 한국정보처리학회논문지
    • /
    • 제2권6호
    • /
    • pp.974-984
    • /
    • 1995
  • 본 논문에서는 벡타연산을 효율적으로 수행하고 대단위 병렬시스템을 지원하는 다중 스레드구조, MULVEC(MULtithreaded architecture of the VEctor Computations) 을 제시한다. MULVEC은 데이타플로우 모델에 수퍼 스칼라 RISC 마이크로 프로세서를 갖는 기존의 폰 노이만 모델을 도입하였다. 그리고 동일한 스레드 세그멘트내에 벡타 연산이 반복되는 경우에 상태필드를 이용하여 동기화의 수를 감축시켰으며, 이에 의해 문맥전환 횟수, 통신량 등을 감소시켰다. 그리고 노드 수의 변화에 대한 MULVEC의 성능평가(프로그램들의 수행시간, 프로세서들의 이용율)와 *T의 성능평가(프로그램의 수행시간)를 SPARC station 20 (super scalar RISC microprocessor)에서 시뮬레이션을 하였으며, 노드의 수, 루프의 반복홋수 등에 따라 프로그램의 수행시간이 MULVEC이 *T보 다 약 1-2배 정도 빠르다는 것을 알 수 있었다.

  • PDF

융통성 있는 스레드 분할 시스템 설계와 평가 (Design and Evaluation of Flexible Thread Partitioning System)

  • 조선문
    • 인터넷정보학회논문지
    • /
    • 제8권3호
    • /
    • pp.75-83
    • /
    • 2007
  • 다중스레드 모델은 긴 메모리 참조 지체 시간과 동기화의 문제점을 해결할 수 있다는 점에서 대규모 병렬 시스템에 매우 효과적이다. 다중스레드 병렬기계를 위하여 Non-Strict 함수 프로그램을 번역할 때 가장 중요한 것은 순차적으로 수행될 수 있는 부분을 찾아내어 스레드로 분할하는 것이다. 기존의 분할 알고리즘은 조건식의 판단식, 참실행식, 거짓실행식을 기본 블록으로 나누고 각각에 대하여 지역 분할을 적용한다. 이러한 제약은 스레드의 정의를 약간 수정하여 스레드 내에서의 분기를 허용한다면 좀더 좋은 분할을 얻을 수 있다. 스레드 내에서의 분기는 병렬성을 감소시키거나 동기화의 횟수를 증가 시키거나 또는 교착상태를 발생시키는 등 스레드 분할의 기본 원칙을 어기지 않으며 오히려 스레드 길이를 증가시키거나 동기화 횟수를 줄이는 장점을 가질 수 있다. 본 논문에서는 조건식의 세 가지 기본 블록을 하나 또는 두 개의 기본 블록으로 병합함으로서 스레드 분할을 향상시키는 방법을 제안한다.

  • PDF

다중쓰레드 프로그래밍을 위한 분산공유메모리 관리 기법 (Distributed Shared Memory Scheme for Multi-thread programming)

  • 서대화
    • 한국정보처리학회논문지
    • /
    • 제3권4호
    • /
    • pp.791-802
    • /
    • 1996
  • 본 논문에서는 대규모 다중처리기 시스템에서 다중쓰레드를 지원하는 기법에 관하여 다룬다. 분산공유메로리에서의 주소번역표 관리, 블록 일관성 유지 방법, 그리고 블록 대치 정책에 대하여 쓰레드 프로그래밍 환경에 적합한 새로운 기법을 제안한다. 이 기법은 분산공유메모리에서 일반적으로 발생하는 문제점들인 거짓 공유, 불필요한 중복, 블록 바운싱, 그리고 주소 엘리어싱 등을 효율적으로 해결한다. 그리고 응용프 로그램의 투명성을 제공하고, 시스템의 확장과 구현 용이하도록 해주며, 다중쓰레드 환경을 사용자에서 제공한다.

  • PDF

New execution model for CAPE using multiple threads on multicore clusters

  • Do, Xuan Huyen;Ha, Viet Hai;Tran, Van Long;Renault, Eric
    • ETRI Journal
    • /
    • 제43권5호
    • /
    • pp.825-834
    • /
    • 2021
  • Based on its simplicity and user-friendly characteristics, OpenMP has become the standard model for programming on shared-memory architectures. Checkpointing-aided parallel execution (CAPE) is an approach that utilizes the discontinuous incremental checkpointing technique (DICKPT) to translate and execute OpenMP programs on distributed-memory architectures automatically. Currently, CAPE implements the OpenMP execution model by utilizing the DICKPT to distribute parallel jobs and their data to slave machines, and then collects the results after executing these distributed jobs. Although this model has been proven to be effective in terms of performance and compatibility with OpenMP on distributed-memory systems, it cannot fully exploit the capabilities of multicore processors. This paper presents a novel execution model for CAPE that utilizes two levels of parallelism. In the proposed model, we add another level of parallelism in the form of multithreaded processes on slave machines with the goal of better exploiting their multicore CPUs. Initial experimental results presented near the end of this paper demonstrate that this model provides significantly enhanced CAPE performance.

자바 메모리 모델을 이용한 멀티 스레드 자바 코드 검증 (Verification for Multithreaded Java Code using Java Memory Model)

  • 이민;권기현
    • 정보처리학회논문지D
    • /
    • 제15D권1호
    • /
    • pp.99-106
    • /
    • 2008
  • 최신의 컴파일러는 실행 속도를 높이기 위해서 최적화 작업을 수행한다. 그러나 최적화 작업 중에 프로그램 구문의 실행 순서가 바뀔 수 있다. 단일 스레드 소프트웨어 에서는 최적화가 실행 결과에 영향을 주지 않지만 멀티 스레드 소프트웨어에서는 최적화로 인해서 기존의 실행 과정을 계산하는 방법으로는 설명할 수 없는 실행 결과가 발생할 수 있다. 이 문제점을 해결하기 위해서 자바 메모리 모델이 제안되었다. 자바 메모리 모델은 구문의 재배치를 고려하여 멀티 스레드 소프트웨어의 가능한 실행 과정을 명세하고 있다. 현재 자바 메모리 모델은 자바의 표준 메모리 모델로 정의되어 있다. 하지만 대부분의 멀티스레드 소프트웨어 검증 도구는 자바 표준 메모리 모델인 자바 메모리 모델 대신에 순차 일관성메모리 모델만을 고려하고 있다. 순차 일관성 메모리모델에서는 구문의 재배치를 고려하지 않는다. 본 논문에서는 자바 메모리 모델을 이용한 소프트웨어 모델 체킹 기법을 설명한다. 이를 이용하여 기존 소프트웨어 검증 도구인 JavaPathFinder 에서 오류가 없다고 한 소프트웨어의 오류를 찾아내었다.