목록Software Engineering (80)
Pure Software Engineer :)
LLC(Last Level Cache)는 temporal locality가 낮다는 특징에서 출발하여, LLC에서는 temporal locality에 좋은 성능을 보이는 LRU보다 다른 접근 방법이 필요하다는 관점에서 출발한다. cache set에 있는 block 들을 referenced list, non-referenced list 2개로 나눠서 predictor 를 통해 way 를 2개의 list로 나누고 replacement 가 일어날때 마다 predictor와 현재 list에 있는 way의 수를 비교해서 predictor보다 많은 way를 가지는 list에서 victim 을 선정한다. thrashing, scan resistant한 특성을 가지며 predictor를 통해 bypass 또한 가능하다고..
리눅스 gnu gcc 로 openmp c 프로그램 컴파일 하는 방법 $ gcc -o hello hello.c -fopenmp (-lgomp 옵션으로도 컴파일은 되나 스레드 생성이 안됐음(?)) $ export OMP_NUM_THREADS=2 // 생성할 스레드 숫자를 환경변수로 설정 할 수 있다. (c code 안에서 #pragma omp parallel num_threads(8) 이런식으로도 가능) - reference http://www.dartmouth.edu/~rc/classes/intro_openmp/compile_run.html
리눅스에서 텍스트 파일 스펠링 검사할때 유용한 도구 예를들어, vi를 사용해서 tex 문서를 작성하는데 스펠링 검사를 할때 유용하다. $ aspell check [filename] OS 기본언어가 한글일 경우 다음과 같은 에러가 떳다. Error: No word lists can be found for the language "ko_KR". lang옵션을 통해 해결한다. $ aspell --lang=en_US check [filename] referenceshttp://afnastica.tistory.com/395 ===================================================================파일 검색find -name "*.pl" -ls // 현재 디렉토리에서 ..
import certificate dir(certificate) // 해당 모듈(certificate) 안에 뭐 있는지(interface) 보여줌 =========================================================== /usr/local/lib/python2.6/dist-package 파이썬에서 사용할 라이브러리 위치
second, microsecond 단위로 측정이 가능하다. 먼저 헤더를 추가한다. #include 사용할 함수 및 구조체 int gettimeofday(struct timeval*tv, struct timezone* tz); struct timeval { time_ttv_sec;// seconds suseconds_ttv_usec;// microseconds }; 변수 선언 struct timeval before, after; 측정 방법 gettimeofday(&before, NULL); solve(); // 성능을 측정할 구간 gettimeofday(&after, NULL); after.tv_sec-before.tv_sec // second after.tv_usec-before.tv_usec // m..
[jwchoi@tc5 trousers-0.2.9.1]$ tpm_version tpm_version: error while loading shared libraries: libtspi.so.1: cannot open shared object file: No such file or directory 위의 예처럼 어떤 ELF format 을 실행할때 shared library를 못찾는 경우가 생긴다. $ which tpm_version // tpm_version 이 있는 경로를 알려줌 which 를 통해 얻은 경로를 바탕으로 다음을 실행 $ ldd /usr/local/sbin/tpm_version // 해당 파일이 사용하는 shared library들을 나열 [jwchoi@tc5 trousers-0.2.9.1..
환경 - Hypervisor : Xen 4.0.1 - Linux : Ubuntu 10.04 server 설치순서 1. Ubuntu 10.04 server 설치// xen설치를 위한 packages설치$ sudo apt-get install bin86 build-essential zlib1g-dev python-dev libncurses5-dev libssl-dev openssl bridge-utils iproute patch mercurial gettext gawk texinfo xorg-dev bzip2 libsdl-dev uuid-dev bcc iasl // python symbolic link 생성$ sudo ln -s /usr/lib/pyuthon2.6/dist-packages /usr/lib/p..
RedBlackTree.h #ifndef REDBLACKTREE_H_ #define REDBLACKTREE_H_ #include #include typedef int ElementType; typedef struct tagRBTNode { struct tagRBTNode* Parent; struct tagRBTNode* Left; struct tagRBTNode* Right; enum { RED, BLACK } Color; ElementType Data; }RBTNode; void RBT_DestroyTree(RBTNode* Tree); RBTNode* RBT_CreateNode(ElementType NewData); void RBT_DestroyNode(RBTNode* Node); RBTNode* RB..