• 제목/요약/키워드: 스레드

검색결과 277건 처리시간 0.021초

다중스레드 모델의 스레드 코드를 분산환경에서 실행 가능한 자바 바이트 코드로 변환하기 위한 번역기 설계 (Design of Translator for generating Java Bytecode in Distributed environment from Thread code of Multithreaded Models)

  • 김기태;조선문;고훈준;이갑래;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (A)
    • /
    • pp.49-51
    • /
    • 2001
  • 다중스레드 모델은 데이터플로우 모델의 내부적인 병렬성, 비동기적 자료 가용성과 폰 노이만 모델의 실행 지역성을 결합하여 병렬처리 시스템의 성능을 향상시켰다. 이 모델은 프로그램의 실행을 위하여 컴파일러에 의해 생성된 스레드를 수행하며, 스레드의 생성 방법에 따라 자원 활용 빈도나 동기화 빈도와 같은 스레드의 질이 결정되는 특징이 있다. 하지만 다중스레드 모델은 실행 모델이 특정 플랫폼에 제한되는 단점을 가지고 있다. 이에 반해 자바는 플랫폼에 독립거인 특징을 가지고 있어 다중스레드 모델의 스레드 코드를 실행 단위인 자바 언어로 변환하여 다중스레드 모델의 특징을 여러 플랫폼에서 수정 없이 사용할 수 있게 된다. 자바는 분산된 환경에 적합한 언어이기 때문에 본 논문에서 제안한 번역기에 의해 다중스레드 모델의 스레드 코드를 자바 언어로 변환한 후 자바의 원격 매소드 호출을 이용하여 다중스레드 모델의 스레드 코드를 분산된 환경에서 처리하였다. 본 논문은 다중스레드 코드가 로컬 컴퓨터에서 여러 스레드를 생성하여 처리하던 것을 자바의 원격 메소드 호출을 이용하여 분산된 환경에서 실행 가능하도록 한다. 다중스레드 모델의 스레드 코드를 분산 환경에서 실행 가능한 자바 바이트 코드로 변환하는 번역기를 설계, 구현한다.

다중 스레드 모델에서 스레드 우선 순위에 따른 스레드 스케쥴링 기법 (The thread scheduling method based on the priority of threads on the multithread models)

  • 이정호;고훈준;양창모;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (3)
    • /
    • pp.659-661
    • /
    • 2000
  • 폰 노이만 모델의 지역성과 데이터플로우 모델의 병렬성을 결합하여 등장한 모델이 다중 스레드 모델이다. 다중스레드 모델의 목적은 통신시간과 계산 시간을 겹침으로써 프로세서의 활용도를 높이고자 하는 것이다. 기존의 대부분의 다중 스레드 모델의 스레드 스케쥴링 기법은 FIFO 혹은 FILO 방식을 사용하고 있다. 본 논문에서는 프로세서의 활용도를 높이고 프로세서의 휴지 시간을 줄이기 위해서 원격 함수 호출 혹은 원격 메모리 참조 기능의 스레드(이후로는 원격 스레드라 부름)와 계산 기능의 스레드가 동시에 활성화되었을 때 원격 스레드들을 먼저 수행하는 것이 프로세서의 지연 시간을 줄이고 병렬성을 높이는 데 효과적임을 제안한다. 이것을 구현하기 위해서 프레임 내부의 지속 벡터(CV)를 CCV(call continuation vector)와 LCV(local continuation vector) 둘로 구분하였다. 스레드가 활성화될 때 CCV에는 원격 스레드들을, LCV에는 계산 스레드들을 저장한 후, CCV에 저장된 스레드들을 먼저 수행하고 LCV를 나중에 수행한다.

  • PDF

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

  • 김기태;이갑래;양창모;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.68-70
    • /
    • 2000
  • 다중스레드 모델은 데이터플로우 모델의 내부적인 병렬성, 비동기적 자료 가용성과 폰 노이만 모델의 실행 지역성을 결합하여 병렬처리 시스템의 성능을 향상 시켰다. 이 모델은 프로그램의 실행을 위하여 컴파일러에 의해 생성된 스레드를 수행하며, 스레드의 생성 방법에 따라 자원 활용 빈도나 동기화 빈도와 같은 스레드의 질이 결정 되는 특징이 있다. 하지만 다중스레드 모델은 실행 모델이 특정 플랫폼에 제한되는 단점을 가지고 있다. 이에 반해 자바는 플랫폼에 독립적인 특징을 가지고 있어 다중스레드 모델의 스레드 코드를 실행 단위인 자바 언어로 변환하면 다중스레드 모델의 특징을 여러 플랫폼에서 수정 없이 사용할 수 있게 된다. 자바는 원시 언어를 중간 언어 형태의 바이트 코드로 변환하여 각 아키텍처에 맞게 설계된 자바 가상 머신이 설치된 시스템에서 자바 언어를 수행한다. 이러한 자바 언어의 바이트 코드는 번역기의 중간 언어와 같은 역할을 수행하고, 자바 가상 머신은 번역기의 후위부와 같은 역할을 한다. 본 논문은 다중스레드 코드가 플랫폼에 독립적인 특성을 갖출 수 있도록 다중스레드 코드를 자바 가상 머신에서 실행 가능하도록 한다. 즉, 다중스레드 모델의 스레드 코드를 자바 바이트 코드로 변환하는 번역기를 설계, 구현하고, 자바 가상 머신의 실행을 분석한다.

  • PDF

스레드 생성 및 삭제 오버헤드를 줄이기 위한 히스토리 기반의 동적 스레드풀 방법 (A History-based Dynamic Thread Pool Method for Reducing Thread Creation and Removal Overheads)

  • 오삼권;김진섭
    • 한국항행학회논문지
    • /
    • 제17권2호
    • /
    • pp.189-195
    • /
    • 2013
  • 작업의 실행요청이 빈번하고 실행시간이 짧은 환경에서, 스레드 생성 및 삭제로 인한 오버헤드를 줄여 작업처리효율을 향상시키기 위해 스레드풀 방법이 자주 사용된다. 그중에서 워터마크 스레드풀 방법은 최대로 필요한 스레드 수 이하의 스레드들을 유지함으로써 자원의 불필요한 사용을 줄인다. 그러나 사용가능한 스레드가 없을 경우에는 지정된 한도 내에서 스레드를 추가로 생성하여 작업들을 처리해야 하므로 스레드 생성으로 인한 시스템 오버헤드가 증가하고 결국 성능 저하 현상이 발생할 수 있다. 본 논문은 이런 성능 저하를 줄이기 위한 방법으로써 히스토리 기반의 동적 스레드풀 방법을 제안한다. 이 방법은 작업처리에 필요한 스레드 수를 측정하고 유지함으로써 스레드 생성 및 삭제로 인한 오버헤드를 줄인다. 실험결과에 따르면, 제안방법은 워터마크 스레드 풀 방식과 비교하여 보유 스레드 수는 평균 33% 증가하나 스레드 생성 수는 평균 62% 감소함으로써 평균 6%의 시스템 처리량 증가를 보인다.

다중스레드 모델을 위한 Non-Strict 프로그램의 조건식 스레드 분할 (A Thread Partitioning of Conditional Expression of Non-Strict Programs for Multithreaded Models)

  • 조선문;김기태;고훈준;이갑래;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (A)
    • /
    • pp.67-69
    • /
    • 2001
  • 다중스레드 모델은 긴 메모리 참조 지체 시간과 동기화의 문제점을 해결할 수 있다는 점에서 대규모 병렬 시스템에 매우 효과적이다. 다중스레드 병렬기계를 위하여 Non-Strict 함수 프로그램을 번역할 때 가장 중요한 것은 순차적으로 수행될 수 있는 부분을 찾아내어 스레드로 분할하는 것이다. 스레드 분할의 목적은 스레드의 크기를 크게 만들어 Non-Strict 함수 프로그램이 수행되는 동안 발생하는 동기화 횟수와 스레드간의 문맥 전환 횟수를 최소화하는 것이다. 본 논문에서는 Non-Strict 함수 프로그램을 보다 큰 스레드로 분할하는 조건식의 스레드 분할 알고리즘을 제안한다.

Non-Strict 프로그램 조건식의 향상된 스레드 분할 (The Enhanced Thread Partitioning of Conditional Expressions of Non-Strict Programs)

  • 조선문;양창모;유원희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2000년도 제13회 춘계학술대회 및 임시총회 학술발표 논문집
    • /
    • pp.277-280
    • /
    • 2000
  • 다중스레드 병렬기계(multithreaded parallel machine)를 위하여 함수 프로그램을 번역할 때 스레드 분할이란 수행 순서를 번역시간에 알 수 있어 정적 스케줄링이 가능한 프로그램의 부분을 식별하여 스레드로 모으는 작업을 말한다. 조건식에서 연산의 수행 순서는 판단식 -> 참실행식 또는 판단식 -> 거짓실행식이므로 번역시간에는 수행순서를 결정할 수 없다. 따라서 기존의 분할 알고리즘은 조건식의 판단식, 참실행식, 거짓실행식을 기본 블록으로 나누고 각각에 대하여 지역 분할을 적용한다. 이러한 제약은 스레드의 정의를 약간 수정하여 스레드 내에서의 분기를 허용한다면 좀더 좋은 분할을 얻을 수 있다. 스레드내에서의 분기는 병렬성을 감소시키거나 동기화의 횟수를 증가시키거나 또는 교착상태를 발생시키는 등의 스레드 분할의 기본 원칙을 어기지 않으며 오히려 스레드 길이를 증가시키거나 동기화 횟수를 줄이는 장점을 가질 수 있다. 본 논문에서는 조건식의 세 가지 기본 블록을 하나 또는 두 개의 기본 블록으로 병합함으로서 스레드 분할을 향상시키는 방법을 제안한다.

  • PDF

다중 스레드 Java 프로그램의 실행 중 처리되지 않는 예외상황을 예측하는 방법 (Exception Analysis for Multithreaded Java Programs)

  • 류석영;이광근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (A)
    • /
    • pp.73-75
    • /
    • 2001
  • 본 논문에서는 다중 스레드 Java 프로그램의 실행 중 처리되지 않는 예외상황을 실행 전에 미리 예측하는 분석 방법을 제안한다. Java에서는 안전성 문제 때문에 다중 스레드 사이에서 예외 상황을 발생시키지 않도록 제한하고 있는데 반해, 본 연구에서는 프로그래머가 자유롭게 다중 스레드 사이에 예외상황을 발생시킬 수 있도록 언어를 확장한 후에 그 프로그램에서 처리되지 않는 예외상황을 예측해낸다. 이 분석 방법은 다중 스레드 Java 프로그램의 각 스레드에서 동시에 수행될 수 있는 부분들을 미리 예측해내고, 이 분석 정보를 이용하여 다중 스레드 사이에서 예외상황을 발생시킬 때 처리되지 않는 예외상황을 예측한다.

비평가인자 함수 프로그램의 스레드 분할 향상을 위한 자료형 분리 집합 분할알고리즘 (Typed Separation Set Partitioning for Thread Partitioning of Non-strict functional Programs)

  • 양창모;주형석;유원희
    • 한국정보처리학회논문지
    • /
    • 제5권8호
    • /
    • pp.2127-2136
    • /
    • 1998
  • 비평가인자 함수 언어는 비평가인자 어의로 인하여 기존의 von Neumann 형 병렬기에서 효율적인 수행을 어렵게 하는 미세수준의 동적 스케줄링 단위로 병합하는 과정이 중요하다. 이러한 과정을 스레드 분할이라 한다. 본 논문에서는 비평가인자 함수 프로그램을 스레드로 분할하는 자료형 분리집합 분할이라는 스레드 분할 알고리즘을 제안한다. 자료형 분리 집합 분할 알고리즘은 자료형을 비교할 수 없는 입력명과 출력명 사이에는 잠재 종속이 존재할 수 없다는 사실을 이용하여 스레드 분할을 수행한다. 이 방법을 사용하면 기존의 스레드 분할 방법에서 실패하는 스레드의 병합이 가능하며, 기존의 분할 알고리즘보다 더 큰 스레드를 생성할 수 있다.

  • PDF

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

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

  • PDF

칼라 스레드 알고리즘을 이용한 네트워크 도달성 검사 (Improvement of colored thread algorithm for network reachability test)

  • 김한경;이광휘
    • 인터넷정보학회논문지
    • /
    • 제10권5호
    • /
    • pp.27-32
    • /
    • 2009
  • 레이블 교환 망의 경로 설정을 위해 제안된 칼라 스레드 알고리즘을 패킷 교환 망에 적용하기 위하여 알고리즘 보완이 필요하다. 칼라 스레드 알고리즘은 스레드의 동작을 extend, rewind, stall, withdraw, merge로, 상태를 null, colored, transparent의 3종류로 정의하였지만 여기에 merged상태를 추가하였다. 또 루프 경로를 도출하기 위하여 스레드가 일단 중복이 되면 다시 새로운 칼라를 생성하여 unknown 홉 카운트를 갖는 스레드로 재차 확장하는 방식인데, 이를 수정하여, 업스트림 방향의 rewind 동작을 소스 노드에 의하여 다운스트림 방향으로 작동하도록 하였다. 스레드가 중복으로 접수되면 merge 동작에서 홉 카운트가 오름차 순이면 스레드의 병합을 시행하고, 그렇지 않는 경우에는 우선 스레드의 칼라가 투명해지거나 제거될 때까지 나중의 스레드를 stalling 시키도록 함으로써, unknown 홉 카운트를 갖는 새로운 칼라의 스레드 생성을 제거하였다.

  • PDF