C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[76373] Re:Re:Re:Re:Re:Re:Re:도스 프로그램의 멀티쓰레드 구현방법은?
Alone [] 637 읽음    2022-11-12 22:42
저번에 말씀드린대로 속도 문제가 아니었지요?
혹시 다른 폴더에 각각 실행되게끔 해보신 것인지요?

이런 경우에서 단순한 문제가 아니면, 뭐가 잘못되는지 알기가 어렵습니다.
현상을 확인할 수 없으면, 어려운 부분인 듯 하니, 가능하시면(?)
해당 문제의 도스실행파일과 테스트 해보신 소스를 올려주시면 문제를 같이 고민해 드릴 수는 있습니다..


하루종일 님이 쓰신 글 :
: 첨부한 프로그램을 설치해서, 시험을 해보았는데...
: 여전히 같은 문제가 발생을 합니다.
:
: 그럼,, 하드디스크 속도 문제가 아니라는 결론인데...
:
: 도스 프로그램 실행은  WinExec(command.c_str(), SW_HIDE);, CreateProcess  를 사용해 보았는데 마찮가지로 계산결과가 중간에 달리게 저장되네요
:
: 무엇이 문제 일까요??
:
:
: Alone 님이 쓰신 글 :
: : 그럼, 말씀하신 대로의 내용이 문제가 된다고 치고, 고성능의 디스크로 테스트 해보면 되겠네요?
: : 
: : RAM DIsk를 설치하셔서 해당 디스크 상에서 테스트 해보세요.
: : 시스템에 설치된 RAM 속도에 비례하는 I/O를 성능을 보여줍니다.
: :
: : 현존하는 SSD보다 일반적으로 빠르게 동작하는 디스크 이니,
: : 테스트 해 보시는 것을 권합니다.
: : (메모리의 속도에 따라 틀려지지만, 제 시스템의 경우 1TB/s 이상 측정, 크리스털 디스크마크 결과)
: :
: : 첨부 파일에 무료(상위버전은 유료)로 사용할 수 있는 버전의 프로그램을 하나 올려둡니다.
: : 제한이 최대 디스크 크기가 4G 라서
: : 설정화면에서 4095 MB 로 설정하면 됩니다.  더 큰값은 에러납니다.
: :
: :
: :
: : 하루종일 님이 쓰신 글 :
: : : 의견 감사 합니다.
: : :
: : : 도스프로그램은 입력을 받아 계산을 하고 계산결과를 파일로 저장 합니다.
: : : 도스프로그램이 동시에 여러개 실행되더라도, 입력파일 및 저장파일 이름은 다릅니다.
: : :
: : : 이런 도스 프로그램을 동시에 여러개 (CPU 코어 갯수에 비례해서 증가) 실행이 됩니다.
: : : 즉 동시에 여러 파일을 읽고, 여러 파일을 하드디스크에 쓰기를 하게 됩니다.
: : : 저장한 결과 파일 중 약 30%정도는 계산결과가 저장이 완료되지 않습니다.
: : :
: : : 저는 이 현상을 하드디스크의 쓰기 속도 문제로 생각을 하고 있기 때문에, 다른 폴더에 저장을 한다고 해도 동일 것 같다고 판단됩니다.
: : :
: : : 만약 도스프로그램 계산결과를 파일이 아닌 메모리에 저장하는 방법이 있다면,
: : : 해결방법이 있을것 같기는 합니다.
: : :
: : :
: : : Alone 님이 쓰신 글 :
: : : : : 아마도, 도스프로그램 저장속도를 하드디스크 가 따라가지 못해서 저장손실이 발생하는 듯 합니다.
: : : :       라고 하셨는데, 도스 프로그램을 쓰던 시대에 비하면, 저장 속도는 이미 충분하다 못해 넘치는 하드웨어라고 봅니다.
: : : :      아마 파일을 저장하기 위해 동일한 파일을 동시에 쓰레드 여러곳에서 엑세스해서 문제가 생기는 것은 아닐지요?
: : : :     
: : : :      각 쓰레드 별로 폴더 구조를 만들어서 도스 실행파일이 있도록해서, 서로 다른 경로에서 실행되도록 해보시는 건 어떨까요?
: : : :     각 폴더 내에 별개로 결과 파일이 생성되겠지요.
: : : :
: : : :
: : : : 하루종일 님이 쓰신 글 :
: : : : : 실행 파일만 있고, 이 실행파일을 동시에 여러개 (CPU코어갯수 * 2 +1, 쓰레드 풀 사용)를 실행한다는 것입니다.
: : : : :
: : : : : 제가 이해 하기 어렵게 글을 작성한 듯 합니다.
: : : : :
: : : : : 왕초보와코드 님이 쓰신 글 :
: : : : : : 글 내용에 모순이 있는데요.
: : : : : :
: : : : : : 소스가 없는 도스프로그램이라, 저장을 제어 할수가 없습니다
: : : : : :    => 이건 결국 실행파일만 가지고 있다는 거죠?  그런데 스레드로 구현했다는 말은 뭔가요?
: : : : : :
: : : : : : 아니면 실행파일을 여러개 동시에 실행했다는 말인가요?
: : : : : :
: : : : : :
: : : : : :
: : : : : : 하루종일 님이 쓰신 글 :
: : : : : : : 1980년대에 개발된 도스프로그램을 멀티스레드로 동시에 여러개를 실행하려 합니다.
: : : : : : : 동시에 여러개 실행은 잘 되는데, 문제는 동시에 여러개의 파일을 하드디스크에 저장을 하지 못하네요.
: : : : : : :
: : : : : : : 도스프로그램이라, 입력파일을 읽고 계산이 끝나면 파일로 저장을 합니다.
: : : : : : : 한번에 한개씩 저장할때는 문제가 없는데,
: : : : : : : 스레드로 구현을 하니, 여러개가 동시에 실행되면서, 하드디스크에 동시에 저장을 하니 저장파일이 깨지는 문제가 발생 합니다.
: : : : : : : 아마도, 도스프로그램 저장속도를 하드디스크 가 따라가지 못해서 저장손실이 발생하는 듯 합니다.
: : : : : : :
: : : : : : : 하드디스크를 SSD로 사용을 해봐도 여전히 문제가 발생 합니다.
: : : : : : :
: : : : : : : 소스가 없는 도스프로그램이라, 저장을 제어 할수가 없습니다.
: : : : : : :
: : : : : : : 이 문제를 해결 하려면, 도스프로그램이 저장하는 파일을 메모리에 저장한 후 하드디스크 저장속도를 초과하지 않게 저장을 해야 할 것 같은데,,,,
: : : : : : :
: : : : : : : 혹시 해결 방법이 있을까요?

+ -

관련 글 리스트
76358 도스 프로그램의 멀티쓰레드 구현방법은? 하루종일 735 2022/10/30
76359     Re:도스 프로그램의 멀티쓰레드 구현방법은? 왕초보와코드 714 2022/11/01
76360         Re:Re:도스 프로그램의 멀티쓰레드 구현방법은? 하루종일 700 2022/11/01
76361             Re:Re:Re:도스 프로그램의 멀티쓰레드 구현방법은? Alone 666 2022/11/02
76365                 Re:Re:Re:Re:도스 프로그램의 멀티쓰레드 구현방법은? 하루종일 751 2022/11/04
76369                     Re:Re:Re:Re:Re:도스 프로그램의 멀티쓰레드 구현방법은? Alone 698 2022/11/11
76370                         Re:Re:Re:Re:Re:Re:도스 프로그램의 멀티쓰레드 구현방법은? 하루종일 628 2022/11/11
76373                             Re:Re:Re:Re:Re:Re:Re:도스 프로그램의 멀티쓰레드 구현방법은? Alone 637 2022/11/12
76375                                 Re:Re:Re:Re:Re:Re:Re:Re:도스 프로그램의 멀티쓰레드 구현방법은? 하루종일 717 2022/11/13
76376                                     Re:Re:Re:Re:Re:Re:Re:Re:Re:도스 프로그램의 멀티쓰레드 구현방법은? Alone 703 2022/11/13
76377                                         감사 합니다. ^^; 하루종일 649 2022/11/13
76378                                             Re:감사 합니다. ^^; Alone 653 2022/11/13
76379                                                 Re:Re:감사 합니다. ^^; 하루종일 663 2022/11/13
76381                                                     Re:Re:Re:감사 합니다. ^^; Alone 720 2022/11/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.