cloudrain 21.com Blog

비순차 프로세서 파이프라인 (Out-of-order Processor Pipeline)의 핵심기술 (2)

지난 포스팅에서 비순차 프로세싱의 핵심기술인 register renaming, reoder buffer, reservation station 에 대해서 알아보았는데요. 여기에 또 하나 빠지지말아야할 기술이 있습니다.바로 메모리 연산을 위한 로드-스토어 큐(Load-Store Queue)입니다. 이번 시간에는 이 로드스토어큐에 대해 알아보겠습니다.Load-Store Queue 는 다음과...

MySQL 성능분석도구 이야기(PERFORMANCE_SCHEMA)

개요 성능스키마란? 성능 스키마 수집 구조 성능스키마 사용방법 개요 데이터베이스에 있어서 성능은 포기할 수 없는 부분이다. 아무리 사용하기 편리하고 기능이 많더라도 성능이 나오지 않는 데이터베이스는 현업에서 절대 쓰여질 수 없다. 만족스런 성능의 기준은 DBMS 가...

비순차 프로세서 파이프라인 (Out-of-order Processor Pipeline)의 핵심기술 (1)

비순차 실행은 명령어 수준에서 병렬성(Instruction Level Parallelism)을 찾아서 이를 순차적이 아닌 비순차적, 즉 병렬적으로 처리할 수 있도록 한 기술을 말합니다.그러면, 큰 그림에서 이러한 비순차적 명령어 처리를 하려면 어떤 기술들이 필요한지 살펴봅시다.이를 위해 비순차 실행에서 필요한...

명령어수준 병렬성(ILP, Instruction-level Parallelism)

ILP 는 비순차 실행에서 사용되는 기술입니다.말그대로 명령어 수준에서 프로그램에 기록된 순서대로 순차적으로 처리하는게 아니라, 명령어간의 상관관계를 잘 따져서 병렬처리가 가능하도록 하는 기술입니다.예를 들어, 다음과 같은 코드가 있다고 가정하면… int main() { int x, y, a,...

Linux Kernel 에서의 Memory Barrier 구현

일반적인 명령어(instruction) 뿐만 아니라, Barrier 를 위한 명령어 또한 아키텍쳐마다 다릅니다.그리고, 컴파일러 Barrier 로 사용되는 Directive 도 컴파일러마다 다를 수 있습니다.이 때문에, Linux Kernel 에서는 몇가지 카테고리의 메모리 Barrier 를 정의해두고, 이러한 카테고리 별로 각...

Embedded SQL 개발 시 Database 별 Error Handling

Embedded SQL 을 이용하여 Database Application 개발 시 항상 Error Code 가 DB 별로 달라서 혼동되는 경우가 있다. 시스템의 Database 가 교체되었을 때 Application 의 소스 코드에서 가장 먼저 점검해야하는 부분이 Error Handling 부분이다.오늘은 Oracle,...

기억해야할 Python 기능 정리(2)

python 기능
__doc__ 속성과 help 함수
이터레이터(iterator)
제너레이터(generator)
enumerate()
조건식의 참/거짓 판단과 단축 평가
range() – 수열의 생성
리스트 내장
zip() 과 map() 함수

기억해야할 Python 기능 정리(1)

Python 의 기능
얕은 복사와 깊은 복사
함수도 객체다. Python 은 모든 것이 객체다
Built-in 영역의 이름 및 함수들 확인
함수의 가변 인자 리스트
정의되지 않은 인자 처리하기
람다 함수
Python 에서의 재귀 호출을 통한 하노이 탑 구현
의외로 유용한 pass 구문

MySQL InnoDB 성능 튜닝 기본

InnoDB 를 초기 설정할 때 고려해야할 기본적인 튜닝 파라미터를 소개한다. 위의 InnoDB 아키텍처 그림을 떠올려보면 아래의 5 가지 초기 설정이 왜 중요한지 이해할 수 있을 것이다. innodb_buffer_pool_size innodb_buffer_pool_instances innodb_flush_method innodb_log_file_size * innodb_log_files_in_group innodb_io_capacity 버퍼 풀의...

MySQL – Replication 구조

Replication 방식 개요 데이터베이스에서 데이터를 복제하는 방식은 크게 동기 방식과 비동기 방식이 있다. 동기 방식은 Master 노드에 데이터 변경이 발생할 경우 Slave 노드까지 (동시에) 적용되는 것을 보장하는 방식이며, 비동기 방식은 Master 노드의 변경과 Slave 노드로의...