얼마전 Expression Blend를 설명하면서 마야 Exporter가 있으면 좋겠다는 언급을 했었는데, MS에서 주체한 WPF Convesion Contest에서 종목에도 없는 마야 Exporter를 만든 친구들이 있었다.

XAML Export UI

XAML로 전달되는 요소들은,

  • Polygon meshes
  • Cameras
  • Animations
  • Lights
  • Normals
  • Texture Coordinates

정도이며, 아직은 Maya의 Animation Curve를 완벽하게 재현하지 못한다고 한다. (WPF, MAYA 모두 cubic bezier curves를 쓰는데 표준상의 근본적 차이가 크다고 한다.) Expression Blender에서 Curve Animation구현이 잘 안되길래 XAML 스펙에 기능이 없나 의심했는데, KeySpline이라는 형태로 존재한다.

01

사이트 바로가기

Source Code 다운 받기
AND

Youtube에 올라온 이 영상은 IBM에서 발표한 iRT를 이용하여 3대의 PS3를 이용하여 실시간 Ray-tracing랜더링을 보여주고 있다. 이 영상을 보기 전에 알아야할 부분은 영상의 퀄리티나 해상도가 그리 좋지 않은데 왜 이것이 대단하냐고 반문하실 수 있는데, Ray-tracing은 자연에서 발생하는 빛의 움직임을 재현하는 랜더링 기법으로 마야나 MAX같은 3D 이미지 랜더링에서나 쓰이며(물론 요즘은 GI를 쓰겠지만), 실시간으로 구현되는 것은 거의 불가능하다. 그란투리스모나 기타 자동차 게임의 차체에 비치는 매끈한 광원효과는 환경맵핑이라는 기법을 이용한 것이며, 자세히 살펴보면 반사되는 이미지는 미리 만들어진 것이거나 디테일이 떨어지고, 자신이 반사되는 경우도 없다.

동영상 내용

  • Ray-tracing은 720p이며 4x super sampling이 적용되어 있음.
  • 3대의 PS3를 리눅스 환경에서 기가빗이더넷으로 연결하였다.
  • 각 PS3는 7개의 SPE중 6개를 iRT에 할당하고 있다. (나머지 1개는 OS용이거나 I/O 용도인듯)
  • 3대중 한대는 최종 이미지를 만드는 역할을 수행하며 1개의 SPE를 최종 이미지 압축용으로 사용한다.
  • 각각은 1개의 SPE를 이미지 전송 압축용으로 사용한다.
  • 따라서, 이미지 전송용 1대는 4개의 SPE를 나머지 2대는 5개의 SPE를 랜더링에 활용한다.
  • 랜더링 영상은 100% Ray-casting이며 유리와 차 표면에 Reflection과 Refraction이 구현되어 있다.
  • 실시간이기에 다양한 Light source를 부여할 수 있다.
  • 뒷부분에 보이는 네모들은 각각 어떤 하드에서 랜더링되고 있는지를 보여주며, 맨 아래쪽은 4개의 블럭이 있는데 이유는 클라이언트라서 4개의 SPE만을 사용하기 때문이다. 나머지는 5개의 블럭이 보인다.

영상을 보면서 느끼는건, 대단하긴한데 이거 PS3용 게임을 만들 수도 없고, 그렇다고 Real-time Global Illumination처럼 Wow Factor가 있는것도 아닌 게 일반 유저들이 봐서는 그닥 관심이 대상이 되긴 어렵겠다는 생각이었다. 하지만, 대단한건 인정!!

AND

신규 사업을 펼치거나 기존 사업의 변화를 꽤하려 할때, 혹은 고객의 e-business구축을 아웃소싱해줄때 우리는 시장조사의 자료를 필요로 하게된다. 이같은 작업은 기획자에게 있어 상당히 짜증나는 작업인데 일반적으로 기존에 발간된 통계자료나 업계관계자와의 커넥션을 통하여 어렵게 구하곤 하지만, 이마저도 세분화된 Market Segmentation에 적용하기엔 무리가 있기 때문이다.

시장조사의 가장 확실한 방법은 그 시장의 실질적인 판매량과 가격을 아는게 가장 정답일 것이다. 하지만, 아무도 그런 자료를 모을 수 없고, 판매자 역시 자신의 자료가 경쟁상대일지도 모르는 누군가에게 보여진다는 것이 꺼려질 수 밖에 없는게 당연한 현실이다.
DataUnison는 e-bay Market-Data Reseller로서 e-bay에서 판매되는 모든 제품의 판매 Raw Data를 받아 이를 정제해서 판매하는 회사이다. 물론 Raw Data중에서 개인신상정보부분은 당연히 빠지겠고, e-bay 자체는 마켓플레이스이기 때문에 해당 자료를 판매한다는게 크게 문제가 되지 않는다. (판매자가 claim할수 있을지 모르나 이는 판매자에 대한 정보 누설이라기보다 마켓플레이스의 매출정보에 가깝기 때문에 문제는 없을듯)

서비스 전개도

Flickr가 디카메이커의 중요한 자료 수집처라면, e-bay는 모든 메이커의 시장자료로서 가치가 있다.
DataUnison가 가지고 있는 Data는 그야말로 무궁무진해서 어떻게 필터링하냐에 따라 수만가지 의미있는 결과를 얻을 수 있다. 분야별 판매현황, 브랜드파워, 키워드파워, 고객연령, 시간별 판매현황, 재구매율 등등 업계 종사자가 아니면 손댈 수 없는 정보들을 구매할 수 있게 되는 것이다. 게다가 API를 제공하여 매쉬업형태로 자신만의 분석시스템을 구축할 수 있다.

비단 e-bay뿐만 아니라 Major 마켓플레이스와 모두 계약을 맺는다면 현존하는 어떤 시장조사 자료보다 정확하고 실시간적인 정보를 얻을 수 있는 창구가 될 것이다. 국내에서도 Gmarket하고만 계약을 맺어도 장사가 될만한 비즈니스이다. (만약 하실려면 저에게 저녁을 사야하는 제약조건이 있습니다 ㅎㅎ)

사이트 바로가기

P.S. 이 사이트 알게된 계기는 아이러니하게도 바로 밑에 붙어있는 구글 광고를 통해서였다;; (내사이트걸 클릭했으니 계약위반인듯...;;)
AND

Autodesk MAYA를 사용하다보면 가끔 MEL Script의 강력함에 매료될 때가 있다. (불안정함으로 작업을 날려먹는 일은 부지기수지만..) 예전에는 Webbrowser Object를 이용해서 Web-Dav처럼 3D Resource를 웹 리포지토리에서 관리하는 MEL Script를 짤때 문득 들었던 생각이 이걸로 게임 만드는 바보도 있지 않을까하는 생각을 했었는데 진짜로 존재한다는 사실을 알게되었다.

스타워즈의 특수효과로 유명한 ILM(Industrial Light and Magic)의 3D 작업자 중 MAYA Guru 였던 Habib Zargarpour는 2002년 MEL과 MAYA Dynamics Engine을 이용하여 로봇을 제작하고 자신의 로봇을 다른 플레이어의 로봇과 겨룰 수 있는 게임을 만들었다. (재미로 만들었다가 ILM개발팀 내부에서 엄청난 반향을 일으켜서 출시하게 됐다는 후문이 있다.)

TV쇼프로인 Robot Wars:Extreme Warriors와 비슷한 개념으로 정해진 스테이지를 벗어나면 패배하도록 되어있다. 파괴룰은 적용이 되었는지 확인해보지 못했다. 명확한 Objective와 Play pattern이 있는게 아니기 때문에 게임이라 부르기보다 장난감에 가깝다고 보는게 맞지 않을까? Toribash, Rag-doll Kung-fu와 더불어 Physically-based Fighting Game의 가능성을 옅보게하는 의미있는 작품이다.


사이트 바로가기
AND

YDL의 PS3버전 출시로 게이머들에게 알려진 Terra Soft에서 PS3를 이용한 클러스터링 솔루션을 판매한다. 6 node와 36 node를 판매중이며, 각각 1TFlops와 5TFlops의 성능을 제공한다고 한다. Head node로는 IBM p5 185을 사용하며, 기가빗이더넷으로 연결된다. 궁금한 점은 분명 같은 Market Segmentation에 IBM의 셀 블레이드 서버군이 존재하는데, Sony와 IBM은 PS3의 서버 시장판매에 대해 어떻게 얘기되었는지 모르겠다. 다만, 이 제품의 가격은 만만치 않은데, 6 node가 $18,325, 36 node가 $40,000에 판매된다. 회사에 놔두면 노드 1개 클러스터링에서 풀어서 몰래 게임할 개발자들 많을 꺼 같은데?

사이트 바로가기
AND

플스3 펌웨어가 1.6으로 업데이트 되면서 Folding@Home이라는 메뉴가 생겼다. SETI@Home의 아류격으로 느껴질만하지만,(SETI@Home은 1999에 Folding@Home은 2000년에 시작했으니 아류가 맞다고 볼수도 있다.) Folding@Home은 난치병 치료제 개발에 도움이 되는 단백질의 접힘(Folding) 연구를 위한 것이기 때문에 보다 공익(?)적인 작업인 셈이다. 처음 뉴스를 접하고 '소니가 PS3의 실추된 이미지를 사회공익적인 이미지로서 개선해보고자 하는군'이라는 선입견이 생겼지만, 실제로 사용을 해보니 몇가지 실익(?)적인 부분-말로만이 아니라 실제 도움이 된다는-이 있었다.

PS3에서의 구동

Folding@Home의 구조를 간단히 보자면,

- 처음 시뮬레이션할 작업량을 네트워크를 통하여 받아온다.
- 내부 컴퓨팅파워(CPU+GPU)를 이용하여 시뮬레이션을 수행한다.
- 시뮬레이션이 끝나면 자료를 전송한다.
- 이를 반복한다.

보고있자면 단백질 구조가 무섭도록(!) 덜덜 떨면서 각 상황의 접힘을 시뮬레이션하는데, 자꾸 보고 있으노라면 세뇌가 되는지 오랫동안 쳐다보게 된다. 배경에는 지구상에서 Folding@Home 프로그램이 가동중인 지역이 밝게 표시되어 나타난다. (클라이언트 수가 많을수록 밝은 곳으로 표시된다.)

PC버전과 PS3버전과의 비교

혹시나 해서 필자의 PC에서 Folding@Home PC버전을 돌려보았는데, 결과가 의외여서 놀랐다. 본인의 PC사양은,

AMD X2 3800+ / 1.5GB RAM / GeForce 6100 통합칩셋 / 500GB HDD

정도인데, 아래 실행화면을 보면,

내부에서 수행되는 작업의 내용을 정확히 알지 못하기 때문에 단정짓기 어렵지만, Folding@Home에서 작업의 최소단위는 frame으로 정의하고, 여러개의 프레임이 모여서 하나의 시뮬레이션을 이룬다. 참고로 PC버전과 PS3버전의 시뮬레이션 분량이 다른데, PC버전은 20000개의 프레임이 하나의 시뮬레이션이고, PS3버전은 40000프레임이 하나의 시뮬레이션을 이룬다.(왜인지는 나중에 나온다.) 결국 한 프레임을 계산하는 작업시간은 해당 머신의 성능과 거의 직결된다고 볼 수 있다. 위 사진에서 보면 16s/frame으로 나타나 있는데 이것은 한프레임을 계산하는데 드는 시간이 16초라는 것이다.  그럼, PS3버전의 한 프레임당 작업시간은 얼마인지 살펴보자.
16초 대 0.07초...이거이거 같은 작업분량으로 보기가 어려운 값인데, 일단 PC버전은 다중코어지원이 안되기 때문에(Linux나 Mac버전에서만 가능) 싱글코어 100%사용량으로 설정했을때의 성능이다. 그렇다고 하더라도 너무 차이가 난다. PS3 버전의 구동원리도 묘연하다. 셀만을 이용하는 것인지 RSX(GPU)도 연산에 이용하는 것인지를 알 수 없다. 하지만, Wikipedia에 따르면 PS3용 Folding@Home이 배포된 이후, 최고의 연산 피크를 기록했다고 한다. (990 teraFLOPS in 3/25/2007) PS3의 참여로 인하여 가시적인 퍼포먼스 향상이 있다는 것이다. 곧 있으면 petaFLOPS(페다플롭스)에 도달할 예정이라니, 소니의 Folding@Home 홍보가 단지 Eyecandy만은 아니라는 것은 인정해줘야 하겠다.

Folding@Home 사이트 바로가기
AND

MS에서 공식적으로 발표한 비스타/IE 호환관련 문서들입니다.

http://www.microsoft.com/korea/windows/compatibility/activex.mspx

MS 웹사이트에 올라온 비스타와 ActiveX에 대한 입장입니다. 국내 금융권에 대한 MS의 입장이 있군요.
128bit SSL을 비롯한 표준화된 인증 체제, 그리고 암호 발생기 등 다양한 보안 솔루션을 국가적 차원에서 열린 자세로 수용하여, 다양한 플랫폼에서 기 구현되고 검증된 인프라를 활용하도록 하는 것이 바람직합니다. 현재 Internet Explorer는 세계 표준적 보안 기능을 내장하고 있고, 세계 각국의 은행들은 브라우저 내장의 보안 기능을 활용하고 있습니다.
정부와 MS, 보안업체와 개발업체들의 앞으로의 행보가 궁금해지네요.

Internet Explorer 7.0 호환성 백서 (Word 문서, 1.92MB)

상당히 도움이 될만한 문서입니다. 2006년말에 나왔습니다. 다만, "Windows Vista IE7 에서 ActiveX 컨트롤 개발 방법론"라는 백서도 같이 나올 예정이었던거 같은데, 아직 안나왔는지 찾을 수가 없네요. 이 글을 쓰신 저자분의 블로그도 찾았습니다. 호환성에 대한 가장 확실한 기술적 답변을 들을 수 있는 채널이지 싶네요. ㅎㅎ

저자 블로그 바로가기

Windows Vista IE7의 새로운 보안하에서 ActiveX 컨트롤 개발 (PPT 문서, 8.29MB)

백서는 아니고 비스타/IE와 ActiveX 개발에 대한 세미나 자료입니다. 참고가 될 만 하네요.
AND

아실 지도 모르지만 모르시는 분들을 위하여 정리해봅니다.
비스타 호환문제가 해결되지 않은 많은 사이트에서 도움이 됐으면 합니다.
퍼가시는 건 자유지만 출처는 밝혀주세요.
-------------------------------------------------------------------------------------------
비스타 ActiveX 문제 해결방법 ver. 0.10

본 문서는 비스타에서 발생하는 하위 호환 문제 중 기존 ActiveX 컨트롤이 일으키는 문제를 해결하기 위한 문서이다. 여기서 제시하는 해결책은 문제의 원인을 제거하는 근본적인 해결책은 아니며, 앞으로 ActiveX 개발사들이 문제를 해결하기 전까지 임시로 사용하기 위한 대안이다. 하지만, 본 대안이 보안에 결정적인 취약요소를 가지고 있는 것은 아니다. 본 해결책의 원리는 비스타의 ActiveX를 최대한 XP 환경에 가깝게 만드는 것으로 일반적인 XP(관리권한을 가진 계정에서 실행되는 일반적인 XP환경)에서 구동되는 그것과 최소한 동등한 보안구조를 가진다.

해결 가능한 대상 : 아래와 같은 문제가 발생하는 모든 국내 웹사이트

1. 인터넷 뱅킹(제1금융)사이트
2. 증권/기타 금융(제2금융) 사이트
3. 웹하드 사이트
4. 웹에서 런칭되는 캐주얼게임/MMORPG 사이트
5. 기타 ActiveX를 사용하는 사이트

해결 방법

바탕화면에 기존 Internet Explorer 바로가기를 복사한다.(위치는 맘대로)
바로가기의 "속성"으로 들어가 "바로가기" 텝에 "고급" 버튼을 누른다.
"관리자 권한으로 실행"을 체크한다.
바로가기 명을 기존 IE와 구분 지을 수 있는 이름으로 바꾼다.
비 호환 사이트에 접속할 때는 새로 생성한 바로가기를 실행하면 된다. 실행시 경고창이 뜨는 것은 관리자 권한을 필요로 하기 때문이므로 허락을 해주면 된다.


-------------------------------------------------------------------------------------------

AND

On_DA님의 일러스트가 업데이트 되었습니다. (2D/3D 모두) 여전히 모에의 경지로는 최고 수준의 퀄리티.

3D 랜더링이라고 믿기지 않을 정도의 퀄리티.

사이트 바로가기
AND

유수 벤치마크 사이트들에서 SuperPI는 PC의 성능을 가늠하기 위한 벤치마크 도구로서 사용되고 있다. 특히 1M 자리수의 PI계산 속도는 CPU의 FPU 성능의 가늠자처럼 인식되고 있는데, 필자는 SuperPI는 이같은 역할을 수행하기엔 시대에 뒤떨어진것이 아닌가 생각한다.

그 이유로는,

- SuperPI(mod버전포함)는 Single-threaded Application으로서 대세인 다중코어 CPU의 성능을 100% 사용하지 못한다.
- 오픈소스가 아니라서 변화하는 환경에 따른 적용이 불가능하다.

일례로 필자가 새로 장만한 AMD64 4000+와 AMD64 X2 3800+로 SuperPI 1M 처리 속도를 비교해보면,4000+가 10초가까이 빠른 속도를 나타냈다. 이 같은 문제는 멀티코어나 비대칭벡터프로세서의 정확한 성능을 가늠할 수 없을뿐만아니라, 유저들이 잘못된 성능 비교를 보고 혼동하게 만들 수 있다.

MacResearch에 올라온 플스3와 맥과 인텔을 비교해놓은 PI 벤치마크. 저자는 Cell의 SPE를 사용하지 않았다는 것을 명시하고 있지만, 이러한 벤치마크는 낚시제목과 함께 여러 사이트들를 돌면서 유저들을 혼동시킨다. (제발 퍼가지 마세요.)

필자가 생각하는 새로운 SuperPI는,

- 오픈소스
- 병렬/직렬처리를 병행할 수 있는 알고리즘
- 메모리 용량에 최대한 독립적
- 확장명령어셋지원(SSE,SSE2,SSE3,3D NOW!, ...) 및 옵션으로 on/off가능
- GPGPU(General Purpose GPU) 혹은 CUDA 지원으로 CPU와 GPU의 비대칭 병렬처리 옵션
- 플랫폼 독립적으로 Windows, Linux등에서 구동가능
- Cell Broadband Engine(PS3)의 PPE/SPE 비대칭 프로세싱 지원

정도로 SuperPI처럼 PI 값의 정확성보다는 시스템의 활용 측면을 더 바라봐야한다는 생각이다.
병렬처리로 PI를 구하는 대표적인 알고리즘은 Monte Carlo Method지만 기타 다른 알고리즘도 고려해볼 만하다. 특히 다중코어의 Multi-threading이나 비대칭코어의 Multi-passing이나GPU의 고속 행렬연산 pipe를 잘 응용한다면 서로 다른 아키텍쳐의 성능을 비교해 볼 수 있는 벤치마크 프로그램이자 참고용소스로서 가치가 있지 않을까 싶다.

Project PI (오픈소스 PI 프로젝트) 사이트 바로가기

Monte Carlo Methods in Parallel Computing 사이트 바로가기

PI 생성 알고리즘의 Single-threaded Multi-threaded 비교 예제

FFT와 AGM(Monte Carlo) 이용한 PI 계산 사이트 바로가기
AND