20150319

1. 영어 기사 읽기
1) Smoke Makes Twisters More Likely to Strike, Scientific American
2) Silicon Valley to millennials: Drop dead, CNN
– The percentage of young people languishing in low-skill, low-paying jobs is 44%, a 20-year high. (languish – 차츰 쇠약해지는, 2015/01/20)
– And those who are punished more than anyone else are recent college graduates, whose lifetime earning potential has already suffered an irreversible setback. (setback – 차질)


2. SIGOPS ([ASPLOS’14] K2: A Mobile Operating System for Heterogeneous Coherence Domains)
지금까지 power saving 기법은 DVFS -> Single Coherence -> Multi Coherence의 단계로 발전해왔다. 처음에는 frequency scaling을 사용해 전력 소모를 줄였지만, 이것의 한계에 다다랐다. 이를 해결하고자 Big little core (single coherence)를 활용해 전력 소모를 줄이고 있다. 지금 주로 사용하는 것이 single coherence model인데 이것에 한계가 있다. big core와 little core의 coherence를 맞춰주고자 사용하는 HW 로직에 전력이 많이 필요하고, little core를 big core와 유사한 것으로 선택할 수밖에 없다. 결과적으로 더 저전력의 little core를 사용할 수 있음에도, 전력 소모가 큰 것을 little core로 사용하게 된다. 그리고 big core, little core 두 개가 서로 인접해 위치하게 되므로 발열의 문제도 생긴다. 따라서 multi coherence (coherence를 맞춰주지 않는 것)로 코어 설계는 바뀌어가고 있다.
하지만 multi coherence가 되었을 때, 각 코어의 coherence를 보장하지 않으므로 운영체제 수준에서 이를 지원해줘야 한다. 이 논문에서는 이를 지원하고자 K2라는 운영체제를 만든다. 이 사람들의 목적은 multi coherence의 programmability 보장, 그리고 weak coherence domain에서 general한 프로그램 실행 보장, 기존의 소스 코드를 사용한 쉬운 개발, 기존의 single coherence domain 운영체제와 유사한 성능 보장이다.
K2에서는 big core와 little core 각각을 위해 서로 다른 커널이 올라간다. 그리고 normal threads는 strong domain에 pinning, nightwatch threads는 weak domain에 pinning함으로써 저전력을 달성한다. K2의 서비스는 총 세 가지 종류의 서비스를 제공한다. Coherence를 유지하기 위해 어떤 기법을 사용하느냐에 따라 세 종류로 나뉘는데, shadowed services, independent services, private services가 있다. Shadowed services는 software coherence를 사용하며, independent services는 coordination을 활용한다. 그리고 private services는 coherence를 맞춰주지 않는다. Shadowed services는 foreground에서 coherence를 유지하며, independent services는 background에서 coherence를 유지한다는 점에서 차이점이 있다. Independent service는 고성능을 위해 사용한다.


3. 정훈이 형과의 대화
– Sequential한 prefetching은 요즘에는 큰 효과가 없다. OoO core를 사용하기 때문에, memory access가 sequential하게 발생하지 않기 때문이다. Sequential prefetching은 in-order core를 사용할 때 유의미했다.
– Prefetching을 연구할 때에는 데이터가 prefetching되어 cache에 올라오는 시점도 고려해야 한다. A를 접근한 다음 B를 접근하리라는 것을 올바르게 예측했다 하더라도, B를 사용하고자 하는 시점에 B가 캐시에 미리 올라와있지 않으면 무의미하다. Cache pollution만 발생시킬 뿐이다.


4. urlwatch, mailutils 를 사용해 사이트 변화 확인 & 메일 전송
연구소에서 프로젝트 공고를 사이트를 통해 공고하는데, 매번 확인하기가 귀찮았다. urlwatchmailutils를 사용해 스크립트 작성함.

#!/usr/bin/python
import subprocess
import os
import time

while True:
    output = subprocess.Popen(["urlwatch"], stdout=subprocess.PIPE).communicate()[0]
    if "CHANGED" in output:
        print "Webpage has been changed"
        print output
        output = output.split('\n')
        site_address = output[1]
        os.system("echo %s | mail -s \"Webpage has been changed\" gmailID@gmail.com" % site_address)
        time.sleep(60)
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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

누적 방문자 수
  • 88,610 hits
%d bloggers like this: