Technical Review

Korean Title: 인텔 스레딩 빌딩 블록 (지앤선)
Publication Date: 2009.11.10
Original book: Intel Threading Building Blocks (Oreilly)

Multi-core chips from Intel and AMD offer a dramatic boost in speed and responsiveness, and plenty of opportunities for multiprocessing on ordinary desktop computers. But they also present a challenge: More than ever, multithreading is a requirement for good performance. This guide explains how to maximize the benefits of these processors through a portable C++ library that works on Windows, Linux, Macintosh, and Unix systems. With it, you'll learn how to use Intel Threading Building Blocks (TBB) effectively for parallel programming without having to be a threading expert.



저작자 표시
신고

한때, 나의 동심으로 양들은 풍선이 되어 하늘을 날 수 있었고 감수성은 풍성한 숲 속의 안갯속, 촉촉이 젖은 아침 향기와도 같았다. 그러나 세월이 흘러 어릴 적 동심을 잊었고 풍성한 나의 감수성도 조금씩 사라짐을 느꼈다. 그리고 [어린 왕자] 이야기 같았던 나의 꿈은 현실과 완전히 달랐으며 그건 그저 허망한 꿈에 불과함을 깨달았다.

깊은 밤, 손님이 별로 없는 한적한 바에서 쓸쓸히 위스키를 들이키고 있다. 낯설지만 어여쁜 아가씨가 옆자리로 다가와선 술 한잔 달라고 빈 잔을 내민다. 말없이 술을 따라주곤 만다. 그녀에게 나를 어필할 무언가를 말하고 싶어도 말하지 않는 것은 결국 나를 잘 알고 있기 때문. 그녀는 기다리듯이 나를 지켜보다가 내 옆에서 술 한 잔을 들이켜곤 씁쓸한 미소만 남긴 채 자리에서 떠난다.

여전히 혼자 고뇌에 빠져선 술을 들이켜고 있다. 이번엔 단골인 듯 낯익은 남자가 옆자리에 앉고선 이상한 질문을 툭 던진다. 

“당신은 요즘 가장 괴로운 게 뭐지요?”

그는 나의 대답을 기다린다. 쉽사리 떠오르는 건 없고 그 사람의 질문의 요점도 파악하기 힘들다. 

“당신의 그 쓸모없는 질문이 나를 괴롭히는 것이오.”

뭔가 있어 보이려고 했지만 상대방을 추궁하듯이 내뱉은 대답에 그 역시 씁쓸한 미소만 남기곤 자리에서 떠나버린다. 난 스스로 자책할 여지를 파악해 보지만 결과는 그저 고뇌에 빠진 모습일 뿐이다.

한 시간가량이 지나, 위스키 한 병이 바닥을 거의 드러내자 자리에서 일어나서 선술집을 나선다.

초승달이 보이는 밤하늘과 한적한 밤거리가 말없이 나를 반겨줄 뿐. 희미한 불빛들이 아롱거리곤 그 불빛들로 도망치듯이 나타나는 도시의 그림자들. 나는 그 그림자들을 따라 집으로 발걸음을 비틀비틀 옮긴다. 도시의 불빛이 닿지 않는 호숫가의 통나무집이다.

집에 도착한 후, 방 한가운데 테이블에 놓인 작은 랜턴 조명에 의지하며 갑자기 미친 사람 마냥 기쁜 표정을 지으며 컴퓨터 앞에 앉아 프로그래밍을 한다. 어느새 밖에는 비가 내리고 있고 바깥세상과 단절된 이 통나무 집안은 아른거리는 빗줄기의 흔적들을 유리창에 새겨놓고 있다. 내가 가장 좋아하는 순간이다.

나의 손가락이 보이질 않는다. 나의 정신세계의 조물주는 무언가를 구축해야 한다고 나를 채찍질한다. 그리곤 동기도 목표도 잃은 채 그저 미친 사람 마냥 손가락이 가는 대로 계속 키보드를 두들긴다.

미친 듯이 빨라진 손가락. 유리창을 두들기는 빗줄기도 더욱 굵고 거세다.

순간 섬광이 집안의 조명을 삼키곤 정신 사나운 집안 구석구석을 훑어본 후 사라진다. 곧이어 천둥소리가 천장 너머로 으르렁댄다. 마치 집채만 한 들개의 울부짐 같다. 우스운 건, 나는 그 순간을 만끽하고 있으며 오히려 손가락은 타 들어가듯 빨라졌다는 것. 그리곤 입가엔 미소가 번지고 얼굴은 빨갛게 상기되어 있다. 그에 반해, 바깥세상엔 거친 천둥 바람이 미친 듯이 포효하며 세상을 때려 부수려고 하고 있다. 어찌 되었건, 나는 전혀 아랑곳하지 않는다. 왜소하지만 통나무집은 이미 바깥세상과 단절되어 있으며 호수에는 미친 소용돌이가 통나무집을 덮치려고 한다는 사실도 전혀 관심 없다.

나는 미친 사람처럼 정신없이 키보드를 두들긴다. 나의 손가락은 재 가루를 날리며 타들어가고 있다. 그 뜨거움은 전율을 일으킨다.

타오른다! 나의 환희가, 나의 미소가! 점점 뜨겁게! 더 뜨겁게!

아! 얼마나 뜨거웠으면 집안엔 재 가루가 가득 날리고 있단 말인가! 나의 미소는 입이 찢어질 정도로 희열에 가득차 있다. 희열과 잿더미로 가득한 공간! 그 때 그 순간, 호수의 소용돌이가 쓰나미처럼 솟구쳤다. 그리곤 산처럼 높이 솟아오른 물줄기는 거대한 산사태처럼 무시무시한 괴음과 함께 통나무 집을 덮치고 만다.

잠시 후, 호수는 사라졌으며 소용돌이가 휩쓸고 지나간 통나무 집도 흔적도 없이 사라져 버렸다.

언제 그랬냐는 듯, 그 뜨거움 역시.

그 재 가루도 미소도 함께...




저작자 표시
신고

옛날에 한 새가 있었다. 새벽같이 맑은 목소리의 그 새는 너무나도 묘한 분위기를 풍겼다.

사람들은 그 새의 매력에 흠뻑 빠졌다. 그 새가 나타났다 하면 누구든 몰려와서 그 새의 자태를 감상하였다. 그러고 있는 동안에 그들은 그 새의 노래에 전율을 감출 수 없었다.

그 새에 대한 애정은 커져만 갔고 이제는 그 새를 보는 것은 행운이었고 길조였다.

애정이 넘쳐 새에 대한 욕망으로 시름한 누군가는 그 새를 항상 자신의 곁에 두고 싶었을 것이다.

한 남자가 그 새를 너무나도 사랑했던 나머지, 엽총을 가지고 그 새를 향해 접근하는 것처럼.

숨을 죽이고 발걸음은 쥐 죽은 듯...

고인 침이 그의 목젖에 닿았고 이마에 흐르는 땀은 그의 턱 끝에 매달렸다.

나무에 앉아 아름다운 자취를 뿜는 새여! 새를 정확히 겨냥한 남자는 가볍게 방아쇠를 당겼다.

천둥소리와 함께 몸부림의 날갯짓의 소리가 들려왔다.

남자는 분명 새를 맞췄을 것이다. 그는 곧장 새가 있던 곳으로 달려갔다.

그러나, 나무 아래엔 새는 보이지 않았다. 어디에도 새의 흔적은 없었으며 그가 하루 종일 땅을 샅샅이 뒤지는 동안에도 새는 보이지 않았다.

그 후로 사람들이 그 새를 잊을 때까지 그 새는 더 이상 나타나지 않았으며, 훗 날 동화 같은 이야기로 사람들 사이에서 전해질뿐이었다.



저작자 표시
신고
Space Vision is sort of like a 3d space contents viewer plus an interactive 3d input device. This project was originally designed for demonstrating an interactive 3D virtual system. By using 3-Axis accelerator sensor, connected via a serial cable, user can control contents in a virtual 3D world to move them on x, y, z direction or choose. For a demo, it uses Intel threading building blocks to display enormous visual contents such as photos and multi media videos.

Development Environment
  • Windows Vista
  • Visual Studio 2008, Code Composer
  • OpenGL 2.1, Threading Building Blocks 2.0, DirectShow 8.0
  • SCA3000 3-Axis Accelerator Sensor






저작자 표시
신고
Fantastic Aquarium is a demo application to show you a virtual aquarium. It demonstrates several sea fishes and it's environment. This software implements fish AI including their natural and realistic movement with 3D animation. Also, it implements several shader effects such as fog, bloom for better shiny visuals.

Development Environment
  • Windows Vista
  • Visual Studio 2008
  • Direct 3D, GOne Engine



저작자 표시
신고

어느 도시의 밤거리.
화려한 네온사인으로 거리는 휘황찬란하고
청춘 남녀들은 형형색색의 조명 아래 거리를 활보한다.

상가와 주점으로 밀집된 도시 한복판은 한밤중에도 북새통을 이루며
시끌벅적한 시장통처럼 사람들로 정신없이 분주하다.

최첨단 시대의 도시인들은 새롭고 기발한 것을 추구한 반면,
보석처럼 고전적이면서도 변하지 않는 아름다운 것을 추구한다.

네온사인은 마치 이 시대의 최첨단 유산물이면서도
보석처럼 아름다운 빛깔로 어둠 속에서 빛을 발한다.

지금 내가 걷고 있는 이 밤거리도
반짝이는 조명과 뜨거운 젊은 열기로 희희낙락 즐겁기만 하다.

한 세대를 미루어, 소녀는 할아버지에게 질문을 던졌다.

"할아버지, 할아버지는 별을 본 적 있어?"

"별이라고? 글쎄... 그래! 본 적 있지! 그럼, 본 적 있고말고."

할아버지는 멈칫, 망각의 존재를 되살리고자 먼 기억의 회상에 빠진다.

서서히 그려지는 어린 시절의 기억.

그것은,

아...

어렸을 적, 그가 보았던 밤 하늘의 별들.

마치 검은 바다에 뿌려진 유리알처럼 눈부시게 아름다웠던 그 존재들.
유수처럼 시간의 흔적이 담겨 있었던 그 광채의 존재들.
말미암아, 거기에는 미래에 대한 꿈, 환상, 그리고 소원이 가득했지 않았던가!

그런데, 언제부턴가 그들의 존재는 자욱한 안갯속으로 사라져갔고
현실을 직시하기 시작한 그에게
그것은 그저 빛바랜 돌조각에 불과하지 않았던지...

그리고, 아이들마저 별의 존재를 잃었으며
그들에겐 별은 그저 네온사인보다 덜 현실적이거나
종이에 적힌 시시한 동화 속 존재에 지나지 않을 뿐이라는 것이다.

그리고 시간이 더 흘러 먼 훗날엔,
우리가 꿈꾸었던 별은 '새'처럼 완전히 잊히겠지.

소녀의 할아버지는,
그가 어렸을 적 보았던 별들의 자태를 잠시나마 기억하려고 애썼다.

그런데 세월의 먼지에 쌓인 별의 기억은
사실 아무런 빛도 남아있지 않았다.

그렇게 그는 쓰디쓴 미소를 남기며 별의 존재를 그대로 망각해 버렸지만,

지금 네온사인 밤거리를 걷고 있는 청춘 남녀들은
아직 미래를 직시할 수 있으면서도 눈앞의 네온사인에 눈이 먼 채,
점점 어두워지는 밤하늘을 외면할 뿐이다.




저작자 표시
신고

G-One Physics Engine is a small project to develop a physics engine for simulating 3d objects. It implements dynamic physics to simulate mass points and rigid body plus collision detection (based on aabb and obb). This engine was actually used for player characters collision for hitting in one FPS game. This engine provides a variety of bounding boxes (sphere, cube, cylinder, etc) and their utility functions for collisions.

Development Environment

  • Windows Vista
  • Visual Studio 2008
  • Direct 3D




저작자 표시
신고

The Greatest One(GOne) Engine is a specialized to develop 3D FPS genre game. It provides full-set functionalities such as an indoor map terrain editor with BSP(Binary Search Partitioning), PVS(Potential Visible Set) rendering algorithm as well as a character editor tool with a skinning animation and automatic joint bounding generation system. Also, it provides a particle effect engine and tool, plus, Lua based script engine and flash UI system for current FPS game trends. This engine also defines GONE 3D model data with our own well-optimized data structure when they were exported from 3D Max. All generated data, manually processed with our tools, will be controlled with Lua script for a specific game scenarios. Even though this engine was started without anything, it provides good quality of special effects such as shadow and various HLSL shader effects.

Development Environment

  • Windows Vista
  • Visual Studio 2008, 3D Max
  • Direct X








저작자 표시
신고
Ceiling Designer is a product tool to simulate tile arranging for ceiling interior. The tool is designed for customers and tile sellers so they could draw a form of the ceiling then place tiles which they'd like. By using this application, they could check the required tile count and total prices in advance. Also, they could always see the up to date list of all tiles via network. It provides several convenient functions such as Print, Save, Zooming, etc.

Development Environment
  • Windows Vista
  • VIsual Studio 2005
  • WIn API
  • ODBC


저작자 표시
신고

Simple P2P is a small project to develop P2P Server and Client Programs for transferring massive data. One server is available to afford the enormous number of clients in order to share any kinds of binary files. The major role of the server is to match clients to send/receive data from each other. Also, it redirects a search input from a client to all clients to find which clients have the data matched with the search. It uses TCP/UDP/IP network protocols for transferring files and server/clients connections.

Development Environment

  • Windows Vista
  • Visual Studio 2005
  • Win API


저작자 표시
신고