20150507

1. 영어 기사 읽기
1) Bill Clinton concedes role in mass incarceration, CNN
– Bill Clinton concedes role in mass incarceration (incarceration – 투옥)
2) The Anti-Drone Drone, Scientific American


2. Computer Architecture 청강
– Multicore 환경에서 여러 개의 코어가 하나의 메모리를 공유한다. 각 코어는 캐시를 가지며, 이로 인해 한 데이터에 대한 복사본이 여러 개의 캐시에 존재하게 된다. 복사본들 사이에 동기화가 필요하다. 이를 맞춰주는 것이 cache coherence이다.
– 이상적인 cache coherence 메커니즘: 트랜잭션은 적고, 유용한 데이터를 남기면서, 빠르게 변경 사항을 공유할 수 있어야 한다.
– cache coherence를 맞춰주는 방법에는 update와 invalidation이 있음. update는 해당 주소에 값을 쓰는 프로세서가 다른 프로세서의 캐시 값을 update해주는 것. invalidation은 값을 쓰는 프로세서가 다른 프로세서의 캐시에서 같은 주소를 모두 invalidate하는 것. update 방식은 트랜잭션 오버헤드가 문제가 될 수 있음. 1) 캐시의 값을 다른 프로세서에 보내줘야 하는 문제점이 있고, 2) cache access의 locality로 인해 update 트랜잭션이 자주 발생한다.
– Q: 프로세서 A에서 write를 했을 때, 프로세서 B에 invalidation message가 도착하기 전에 프로세서 B가 같은 주소를 읽으면 어떻게 하나? A: 최근의 시스템에서는 write할 때 invalidation message에 대한 응답이 도착하면 이를 캐시에 반영한다. 프로토콜이 global ordering을 보장하면 응답 확인하지 않고도 write를 즉시 캐시에 반영해도 된다.
– 최근에는 snoop-based protocol이 directory-based protocol을 흡수하는 경향을 보인다.
– snoop-based protocol은 bus에서 serialization을 하는데, 이는 실제로 필요한 serialization보다 더 많은 것이다.
– snoop-based protocol에서 cacheline의 상태를 바꿀 수 있는 것은 두 가지가 있다. 해당 캐시를 갖는 프로세서, 그리고 snoop request이다.
– AMD 바르셀로나에 cache coherence 버그가 있었고, 이것을 구글이 사갔다고 함.
– MSI 프로토콜에서는 S가 비효율적이다. 캐시라인을 한 개의 프로세서에서만 사용하고 있어도 shared라고 생각해 coherence request가 불필요하게 발생한다. 이를 해결하고자 MESI 프로토콜 나옴. MESI에서는 E 상태에서 쓰기를 해도 BusUp request가 발생하지 않음.


3. [OSDI’14] f4 Facebook’s Warm BLOB Storage System 읽기 (paper, slides)
facebook에서 사용하는 파일 시스템 f4에 대한 논문이다. facebook에서는 많은 양의 사진, 비디오 등을 저장하는데, 이를 저장하기 위해 BLOB이라는 구조를 사용한다. BLOB을 저장하는 파일 시스템으로 원래 Haystack을 사용하고 있었다. Haystack은 BLOB을 디스크에 순서대로 기록해두고, in-memory index로 이를 접근하는 방식이다. 이렇게 BLOB을 접근하면 디스크에 여러 번 접근하지 않고도 BLOB을 읽을 수 있다. Haystack은 RAID 6를 사용하고, 같은 데이터를 세 곳에 저장함으로써 fault tolerance를 보장한다. 이렇게 fault tolerance를 보장하는데, effective replication factor는 3.6이 된다. (RAID 6에 1.2, 총 세 개의 복사본을 가짐으로써 1.2 * 3 = 3.6) 높은 replication factor이지만, hot data에 대해서는 이런 구성이 도움이 된다. Read request를 분산해 처리할 수 있기 때문이다. 하지만 facebook의 특성 상, 3개월 정도가 지나면 warm data (접근이 상대적으로 적은 데이터) 가 된다. Warm data에 대해 낮은 replication factor로 fault tolerance를 보장하고자 f4를 제안한다. f4를 사용하면 drive / host / rack / datacenter failure를 극복할 수 있으며, repliation factor는 2.1까지 줄일 수 있다. Reed-Solomon coding, XOR를 사용한다.


4. 두 논문의 Gunning fog index 비교
Gunning fog index를 사용해 글이 얼마나 읽기 쉬운지 비교할 수 있다 (2015/03/17). 다음은 Gunning fog index를 확인할 수 있는 사이트이다.
gunning-fog-index-1
Gunning fog index가 낮을수록 읽기 쉬우며, Gunning fog index 12가 일반적인 미국 고교 졸업생이 읽을 수 있는 문장 수준이라고 한다. 창현이 형과 함께 쓴 technical report를 다시 읽어보고 있는데, 아무래도 잘 읽히지 않아 Gunning fog index를 확인해보았다. 그리고 유사한 논문의 Gunning fog index를 비교해보았다.

창현이 형과 작성한 technical report의 abstract

gunning-fog-index-2

ISCA에 나온 논문의 abstract

gunning-fog-index-3
References:
[1] Gunning fog index, Wikipedia, https://en.wikipedia.org/wiki/Gunning_fog_index
[2] Gunning fog index calculator, http://gunning-fog-index.com/


5. hangups 라이브러리 빌드에 성공
google hangout 라이브러리이자 command line interface인 hangups 빌드에 성공했다. 지금까지 잘못 설치하고 있었다(2015/05/05). python-pip로 설치하거나, /usr/bin/python의 심볼릭 링크를 python3으로 변경해 설치했는데, 그렇게 설치하면 안 된다. /usr/bin/python의 심볼릭 링크를 python3로 변경하는 것은 python 관련 시스템을 꼬이게 만든다. python-pip는 두 가지 버전으로 제공되는데, python3-pip가 따로 있다. 하지만 pip를 사용해도 설치가 잘 되지 않았고, 다음 명령어로 하는 것이 잘 되었다.

$git clone https://github.com/tdryer/hangups.git
$cd hangups
$sudo python3 setup.py install
Advertisements
Tagged with: , , , , , , , , , , , , , , , , , ,
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Recent Posts
누적 방문자 수
  • 142,141 hits
%d bloggers like this: