[운영체제]쓰레드를 이용한 행렬곱셈
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[운영체제]쓰레드를 이용한 행렬곱셈에 대한 보고서 자료입니다.

목차

1. 문제 제기
2. 관련연구
3. 문제 해결 방법
4. 실행결과
5. 추가 및 개선할 부분과 결론
참고문헌 및 실행 소스

본문내용

1. 문제 제기
1) POSIX Thread에 대한 조사.
2) 쓰레드를 이용한 행렬 곱셈
(세개의 행렬을 곱하여 결과를 얻기위해 쓰레드를 사용한다.)
* 요구사항
• POSIX thread 라이브러리(pthread library)를 사용한다.
• 세 개의 행렬 모두 40 X 40 행렬이다.
• 곱셈의 순서는 순차적이라고 가정한다. ( A*B*C -> (A*B)*C 라는 의미 )
• 실제 계산될 행렬은 파일(A.dat, B.dat, C.dat)로 입력받는다.
• 행렬 곱셈 계산시 사용되는 스레드의 개수를 (1) 2개, (2) 40개, (3) 80개의 경우로 나누어서 구현한다.
(1),(2),(3)에서 각각 실행 시, 각 수행 시간을 구한다.
처음 연산(A*B)전에 모든 스레드를 생성한다.
• A*B의 모든 행이 완료되지 않더라도 A*B의 완료된 행은 C행렬의 열과 동시에 연산되도록 한다.
• 수행 시간은 (첫번째 스레드가 실행되기전) ~ (마지막 스레드가 종료한 후)로 정의한다.
즉 (마지막 스레드가 종료한 시간) - (첫번째 스레드가 실행되기 전 시간)로 수행시간을 구할 수 있다.
• 화면에 출력해야할 사항으로는 다음과 같다.
o (1),(2),(3)의 경우 각각의 계산결과(물론 결과는 다 같아야한다)
o 수행스레드 개수에 따른 수행시간
2. 관련 연구
2.1 쓰래드 개념
쓰래드란 한 프로세스 내에서 동작하는 여러 실행의 흐름으로, 프로세스내의 주소 공간이나 자원들을 대부분 공유하면서 실행된다. 다음 그림을 보면 알수 있듯이 쓰래드간에는 프로세스의 대부분을 공유하며 각 쓰래드를 위한 공간은 스택공간 뿐이다.
위의 그림에서 알 수 있듯이 쓰레드는 프로세스 내에서 각각의 스택 공간을 제외한 나머지 공간과 시스템 자원을 함께 공유하므로 프로세스를 이용하여 동시에 처리하던 일을 쓰레드로 구현한다면 메모리 공간은 물론 시스템 자원 소모도 현격히 줄어들 것이다.
이와 같이 프로세스를 생성하는것보다 쓰레드를 생성하는 것이 효율적이다. 특히 멀티 프로세서 환경에서는 더욱 효과가 탁원하다. 쓰레드간의 통신이 필요한 경우 별도의 자원을 이용하는 것이 아니라 전역변수의 공간을 이용하여 데이터를 주고 받을 수 있다. 쓰레드의 장점을 정리하면 다음과 같다.
 시스템의 Throughout 이 향상 된다.
 시스템의 자원 소모가 줄어든다.
 프로그램의 응답시간이 단축된다.
 프로세스간 통신 방법에 비해 쓰레드간의 통신 방법이 훨씬 간단하다.

키워드

  • 가격3,000
  • 페이지수29페이지
  • 등록일2010.06.15
  • 저작시기2010.1
  • 파일형식워드(doc)
  • 자료번호#619508
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니