20150119

1. 영어 기사 읽기
1) Gestures and Eye Movements Will Control Cars, Scientific American
2) Robo-wings: Military drones that mimic hawks and insects, CNN
– Speeding through unstable buildings or threatening indoor spaces at 20 meters per second, the unmanned aerial vehicle would obviate the need for physical entry that puts troops or civilian response teams at risk. (obviate – 문제, 필요성 등을 제거하다)
Goshawks, for example, can fly very fast through a dense forest without smacking into a tree. (Goshawk -참매)
– Urban and disaster relief operations would be obvious key beneficiaries, but applications for this technology could extend to a wide variety of missions using small and large unmanned systems linked together with manned platforms as a system of systems (beneficiary – 수혜자)
– The aim of the program would be to take the grunt work out of repetitive tasks where fatigue can mean the difference between life and death. (grunt – 사람이 끙 앓는 소리를 내다, 2014/09/04, grunt work – 지루하고 고된 일)
– In a gust of wind a fly “doesn’t instantaneously stabilize itself,” Polcawich said. (gust – 돌풍)


2. MARSS 디버깅
Ubuntu 12에서는 linux kernel 3.2, Ubuntu 13에서는 linux kernel 3.11, Ubuntu 14에서는 linux kernel 3.16을 사용한다. (List of Ubuntu releases, Wikipedia, http://en.wikipedia.org/wiki/List_of_Ubuntu_releases) 정섭이 형께서는 0x103 (LSL)이 user mode instruction인지 kernel mode instruction인지 확인해보라 하심. User mode instruction이었으며, 원래 코드 영역에 case를 추가하니 에러 없이 잘 실행되었다.

수정 이전의 코드

...
  case 0x1a2: {
    // cpuid: update %rax,%rbx,%rcx,%rdx
    EndOfDecode();
    microcode_assist(ASSIST_CPUID, ripstart, rip);
    end_of_block = 1;
    break;
  }

  case 0x137: { // 0f 37: PTL undocumented opcode
    EndOfDecode();
    microcode_assist(ASSIST_PTLCALL, ripstart, rip);
    end_of_block = 1;
    break;
  }

invalid_opcode:
    MakeInvalid();
    break;

  default: {
    MakeInvalid();
    break;
  }
  }

수정 이후의 코드

...
  case 0x1a2: {
    // cpuid: update %rax,%rbx,%rcx,%rdx
    EndOfDecode();
    microcode_assist(ASSIST_CPUID, ripstart, rip);
    end_of_block = 1;
    break;
  }

  case 0x137: { // 0f 37: PTL undocumented opcode
    EndOfDecode();
    microcode_assist(ASSIST_PTLCALL, ripstart, rip);
    end_of_block = 1;
    break;
  }

  case 0x103: {
    break;
  }

invalid_opcode:
    MakeInvalid();
    break;

  default: {
    MakeInvalid();
    break;
  }
  }

이렇게 버그가 해결되는 것이 옳은지 모르겠다. 만약 이 부분을 상세하게 구현한다면 mailing list의 글을 참고해 구현할 수 있을 것 같기도 하다.(avadh patel, Re: [marss86-devel] Ptlsim decoder problem, https://www.mail-archive.com/marss86-devel@cs.binghamton.edu/msg00957.html) 하지만 구체적으로 어떻게 구현할 수 있을지 도저히 감이 오지 않는다. 이렇게 해결이 된다면, SPEC CPU 2006으로 실험해보고 IPC 경향성이 유지된다면 그대로 써도 될 것 같다. Ubuntu 12, 13, 14에 대해 실험 중.

실험을 시작하고 다시 생각해보니, 코드를 수정했지만 몇 워크로드는 제대로 실행되지 않을 수도 있을 것 같다. 에러가 발생하는 경우는 다음과 같은데, 내가 확인한 것은 Ubuntu 14의 tonto와 bzip2_chicken만 확인했기 때문이다.

Ubuntu release version 12에서는 에러가 발생하는 워크로드가 없었음.

Ubuntu release version 13에서 에러가 발생하는 워크로드 (3개)

gobmk_score
mcf
soplex_pds

Ubuntu release version 14에서 에러가 발생하는 워크로드 (6개)

astar_river
bzip2_chicken
gcc_200
leslie3d
tonto
wrf

실험이 끝나면 에러가 여전히 발생하는 것 위주로 다시 봐야겠다.


3. 정섭이 형으로부터 Simics 인수인계 받음.
Simics 사용법을 오늘 정섭이 형으로부터 인수인계받기는 했지만, 실제로 많이 쓰일지는 의문이다. 많은 simulator들이 simulation infra에서 Simics를 제외하고 있기 때문이다. Flexus도 기반을 Simics에서 QEMU로 바꾸고 있으며, gem5도 Simics를 사용하지 않는다. 동시에 Wind River측에서도 최신 버전의 Simics에서는 simulation extension을 허용하지 않는다. 한편, Simics 3.0은 지원 기간이 끝났고 Wind River 홈페이지에서도 바이너리를 받을 수 없다. 교수님께서 말씀하시길, 그래도 Simics는 소스 코드가 꾸준히 유지되므로 언제 써도 쓸 일이 있다고 하심.


4. 정섭이 형과 대화
1) MARSS simulation에서 DRAMSim2를 enable한 것과 disable한 것이 실험 결과가 다른가?
– 아마도 다를 것이다. 메모리 모델링이 되어있는 것과 안 되어있는 상황에서 simulation 결과는 다른 것이 당연하다. 메모리 요청이 많은 경우 그 차이는 더 크게 나타날 것이다.
2) 한 실험에 적어도 1 billion instructions를 실행해야 한다고 교수님께서 말씀하셨었는데, 두 개의 workload를 실행하는 workload mix의 경우 2 billion instructions를 실행하는 것이 맞는가?
– 1 billion instruction을 실행하는 것 보다는 아마도 더 정확할 것이다. Workload mix에서 1 billion instruction을 simulation하면 한 workload마다 실행 시간은 더 줄어들게 되므로.
– 그런데 MARSS에서 stop insns로 인자를 주었을 때, 두 코어의 instruction commit의 합을 기준으로 하는가? 아니면 둘 중 하나만 기준으로 하는가?

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,257 hits
%d bloggers like this: