| [ CnUnix ] in KIDS 글 쓴 이(By): sang (멍텅대만) 날 짜 (Date): 2002년 11월 21일 목요일 오전 03시 18분 15초 제 목(Title): Re: 프로세싱 속도? >문외한이라 질문이 너무 두서없더라도 >고수분들이 보시면 뭐가 궁금한지 짚어내시리라 믿고 >올려봅니다. 고수는 아니지만 잠도 깰겸해서.. ^^; > >CPU가 하나인 기계에서는 같은 작업에 대해 >프로세싱을 나누어서 동시에 하든 한번에 순차적으로 하든 >실행시간은 결국 똑같게 되나요? >예를 들면 스트링을 마구 처리해서 간단한 permutation 작업을 >한다고 합시다. 약간의 계산과 함께. >이 경우 처리할 파일이 50개라고 하면 >어차피 한 기계로 작업한다면 저 코드를 쉘을 50개 띄워서 >한 쉘에 하나씩 '거의' 동시에 실행하는 거랑 >그냥 한 쉘에서 파일 순서대로 읽어들여서 순차적으로 실행하는 거랑 >어떤 게 더 빠르죠? > 대부분의 경우 후자가 빠릅니다. 이유는 context switch, swap out, file cache miss 등에 드는 overhead가 있기 때문입니다. 그런데 처리하는 data set에 따라 반대의 효과가 올수도 있습니다. > >parallel processing이랑 multi threading 같은 것에 대해서 >기초부터 자세히 알았으면 하는데요, 구현 방법까지도 >필요에 따라서.. >어디서부터 공부하면 좋을까요? 자료 추천좀 부탁드립니다. > computer architecture + operating system 책을 보는수밖에 없지 않을까요? 각각 computer architecture: a quantitative approach, UNIX internals: the new frontiers 책 추천합니다. 여유 되시면 parallel computer architecture: a hardware/software approach도.. 대부분의 전산과 대학원 과정에서 사용하는 책일겁니다. > >이런 작업에는 펜티엄 같은 것보다 G4가 더 좋을래나요? >그리고 싱글보다 듀얼 프로세서일 때 G4가 더 많이 좋을래나요? >이런 칩 특성에 대한 이해도 하고 싶고 그 이해를 실제 상황에도 >적용하고 싶다면 뭘 공부해야 할까요? > G4는 왠지 floating op에 대한 optimization에 초점을 맞췄을거 같은데... 그리고 만약 위 가정이 맞다면 string permutation은 integer op이니 G4가 더 부적합하지 않을까요? 코딩하는데 필요한 기반지식을 위해서라면 위에서 언급한 책에 있는 내용으로도 충분하리라 봅니다. G4가 빠르다는 얘기는 들었지만, 어떤 면에서 펜티엄 보다 좋기 때문에 듀얼로 가면 더 효과가 나리라고 생각하시는지 궁금합니다. Mac에서 사용하는거니 graphic 관련 어플리케이션들은 수행속도가 뛰어나겠지만 다른 면에서는 글쎄요. 자세한 벤치마크 결과를 봐야만 알수 있을듯... (이시점에서 궁금해져서 웹을 뒤집니다. ^^) 지금 대충 웹에서 보기에 특별해 보이는건 별로 없는거 같고(혹은 제가 잘 몰라서 그럴수도 있음), L3 cache 사용해서 4GB/s access to inst/data 정도만 보이는데 이미 90년대 중반에 Sun 장비들이 4GB/s memory bus(조금 다른 측면의 비교라 조심스럽기는 하지만 다음문장을 위해 과감히..)를 지원했다는걸 감안하면 엄청난 성능 향상이라고 보기는 힘들듯 싶습니다만... > >위 내용에 대한 답변과 함께 다양한 조언 부탁드립니다. > >감사합니다. |