윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 이야기

랜디 포시의 마지막 강의(Achieving Your Childhood Dreams)

카네기 멜론대 컴퓨터 과학 교수(가상 현실)이었던 랜디 포시(Randolph Frederick Randy Pausch, 1960.10.23~2008.07.25)의 마지막 강의를 이제야 봤습니다. 췌장암으로, 그리고 전이됨에 따라 손을 쓰지 못하고 시한부를 선고 받게 됩니다.

가능성이 없는걸 안 그는 사직하기로 결심하고, 사직에 앞서 카네기 멜론대에서 마지막 강의를 했습니다. 주제는 Achieving Your Childhood Dreams. 아래는 그걸 녹화한 카네기 멜론대학의 공식 영상입니다. (사직하는 교수의 마지막 강의를 공개해 듣는건 카네기 멜론대의 전통이라고 하네요)

눈물없이 보긴 힘드네요. 마지막은 정말, 정말, 공감하고 감동적입니다.

글쓴시간
분류 기술,IT

iOS 7

사용자 삽입 이미지

일단 디자인이 바뀐게 크네요. 좀 더 색다른 경험일듯. iPad2도 지원해주는걸보니 기대됩니다. 디자인을 작정하고 바꿔놨네요.

게다가 iPad2에서도 드디어 시리가 지원되는 군요. ㅎㅎㅎ 아이튠즈 라디오는 그다지 흥미 없으므로 패스.

사파리 바뀐게 눈에 띄이네요. 3D 가속 지원되려나요. 올 가을 공개 예정이라니 왠지 기대되네요.

글쓴시간
분류 기술,IT

윈도7에서 256비트 암호화 사용 방법

윈도비스타부터 256비트 암호화를 사용 가능하지만, 사실상 비활성화되어있다.

다음과 같이 활성화할 수 있다. 윈도7 프로 이상 필요하다.

1. [로컬 그룹 정책 편집기]를 실행한다. (시작 → 실행을 클릭하고 gpedit.msc 를 입력한다)

2. 로컬 컴퓨터 정책 → 컴퓨터 구성 → 관리템플릿 → 네트워크 → SSL 구성 설정을 선택한다.

사용자 삽입 이미지

로컬 그룹 정책 편집기

3. 오른쪽 패널에서 [SSL 암호 그룹 순서]를 더블 클릭한다.

4. SSL 암호그룹 창에서 사용을 선택하고, 아래의 입력패널에 아래의 텍스트를 입력한다. 모두 한줄로 입력해야 한다.

사용자 삽입 이미지

SSL 암호 그룹 순서

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,LS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,SSL_CK_RC4_128_WITH_MD5,SSL_CK_DES_192_EDE3_CBC_WITH_MD5,TLS_RSA_WITH_NULL_MD5,TLS_RSA_WITH_NULL_SHA,TLS_RSA_WITH_DES_CBC_SHA,TLS_DHE_DSS_WITH_DES_CBC_SHA

5. 확인을 누른후 컴퓨터를 재시작한다.

----

http://social.technet.microsoft.com/Forums/en-US/ieitprocurrentver/thread/4e382651-2227-4f97-89ee-76f3115b5e1c/

글쓴시간
분류 기술,IT

Intel TSX

기다리고 기다리던 하스웰이 발매되었습니다. 가격은 3세대 프로세서와 비슷합니다. 경쟁자도 없으니 가격은 인텔 마음대로 결정해도 되겠죠.

이번 하스웰의 최대 이슈라고 보는게 TSX(Transactional Synchronization Extensions)입니다. RTM(Restricted Transactional Memory)의 하드웨어 구현인데, 여기에 Hardware Lock Elision도 추가했습니다. RTM은 IBM에서 작년에 그들의 슈퍼컴퓨터에 구현 해 놓았습니다만, 일반인용을 위한 기기에 넣은건 인텔의 하스웰이 최초입니다. AMD도 ASF(Advanced Synchronization Facility)라고 해서 뭔가 나오려고 하는거 같은데 아직 안나왔습니다. Oracle도 Memory Versioning라고 해서 뭔가 나올것 같은데 아직 안 나왔습니다.

예전에 Sun microsystems라는 곳에서 연구하던 것으로 알고 있는데요, 흐지부지 되면서 엔지니어들의 일부가 인텔로 옮겨간 걸로 알고 있습니다. (아님말고 ^^;) 그리고 하스웰에서 빛을 봤네요.

여태까지 동시성 프로그래밍을 위한 하드웨어 지원에는 CAS(Compare and Swap)나 LL/SC(Load-Link and Store-Conditional)가 있었는데, 여기에 더해 Transactional Memory이 추가된겁니다. 제가 알기론 하드웨어적으로는 동시성 제어에 거의 마지막 기술(더이상의 향상 여지가 없는 기술)로 알고 있습니다. 앞으로 개선하긴 하겠지만, 획기적인건 아니겠죠.

일단 구현은 L1, L2캐시의 캐시 코히런스 시스템을 이용했을 것으로 추측합니다. (공식적으로 인텔에서 이렇게 구현했다고는 안했지만, 공식 문서에 Read-Set, Write-Set이 나오는데 이게 L1, L2 캐시의 캐시 일치를 위해 만들어진거기도 합니다) 그렇다면 아마 트랜젝션 가능한 용량에 제한(L1 또는 L2캐시의 크기)이 있을 텐데요 자세한건 두고 봐야겠네요. 이제 발매되었으니 차츰차츰 분석해내겠죠.

현재 TSX는 인텔 컴파일러와 GCC 최신버전에서 지원 합니다.

이외에도 AVX 2 명령셋을 지원한다고 되어있긴 합니다만, 이건 별로 와닿지는 않네요.

만약 자바에서 지원한다면

 synchronized (aObject) {
  ...
 }

이 아니라

 transaction {
  ...
 } catch (TransactionException e) {
  실패시 코드
 }

처럼 코딩해도 되겠죠. 물론 아래것이 성능이 훨~씬 빠릅니다. 기대되네요.

----

2015.02.19 업데이트

하스웰/브로드웰의 TSX 에서 버그가 발견되었습니다. 타이밍 문제로 보입니다만, 결국 소프트웨어적으로 해결이 안되네요. 현재 인텔에서 배포한 최신 마이크로 코드를 사용하면 TSX를 비활성화 시킵니다. 2014.08 에 이미 패치가 발표되었네요. 결국 TSX는 다음 아키텍처에서 사용 가능할 것 같네요. 아쉽습니다.

----

2015.08.15 업데이트

Core M-5Y70 F0 스태핑 부터 해결되었다네요. 2014.11월에 출시되었습니다.

----

Intel® Architecture Instruction Set Extensions Programming Reference
http://software.intel.com/file/41604/319433-012a.pdf