일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 임베디드
- 파이썬
- 암호화폐
- 확률
- 클라우드
- 백테스트
- AUTOSAR
- 퀀트
- 비트코인
- probability
- 자동차sw
- backtest
- 개발자
- 아마존 웹 서비스
- can
- it
- 블록체인
- 백트레이더
- GeorgiaTech
- Cloud
- 자동매매
- 토플
- TOEFL
- AWS
- 토플 라이팅
- 프로그래밍
- toefl writing
- python
- 오토사
- backtrader
- Today
- Total
목록Study (130)
Leo's Garage
느낀점 Problem Statement무엇이 문제인가? 멀티프로세서 실시간 시스템에서 fully-partitioned fixed-priority scheduling(FP-FPS) 하에서 공유 자원을 사용할 때, 기존의 spin-based 프로토콜은 다음과 같은 한계를 가진다. 고정된 spin priority policy -> 모든 Job에 일률적인 정책 강제 긴 Resource Request 또는 긴 Critical Section에 대해 비효율적Blocking Time에 대해 과도하게 보수적인 분석 -> System Schedulability 저하Non-predictable Priority Inversion 발생 가능 해결해야 할 핵심 문제:Shared Resource 접근 시 다양한 상황에 대응 가능한..
느낀점 Key Contribution기존의 2개의 EDF(Early Deadline First) 기반 Test인 GFB(Goossens, Funk, Baruah) 및 BAK(Baker) Test를 비교GFB와 BAK는 상호 보완적이며, 어느 하나가 항상 더 우수한 것이 아님을 증명 새로운 스케줄러 Test 제안 (BCL - Bertogna, Cirinei, Lipari, 저자들의 이름이다)특히 heavy task(과도한 계산량을 요구하는 작업)를 포함한 경우, 기존 GFB 및 BAK 테스트보다 더 많은 Task Set을 스케줄할 수 있음을 증명이 Test는 총 간섭(interference) 개념을 기반으로 하며, Test 계산식이 더욱 타이트하게 조정되었다.광범위한 실험을 통해서 효과 검증다양한 조건(..
Real Time System을 공부하다보면, Scheduler라는 걸 학습하게 된다.이것은 왜 필요하게 되었을까? 자원은 한정되어 있고, 요청은 많아지기 때문에CPU, Memory, Bus 등 시스템 자원은 유한하다. 동시에 여러 작업이 실행을 요구하는 상황에서, "누가 먼저, 얼마나 오래 실행되는가?"를 정할 필요가 있다.이것이 바로 Scheduling 문제의 본질이다. Scheduler 진화 배경시대시스템 구조스케줄링 필요성해결책1950s단일 프로세스없음 (순차적 실행)수동 제어1960sMultiprogramming 등장CPU idle 줄이기 위해 Task 전환 필요Round Robin, FCFS 등1970sReal-Time OS 등장Task마다 데드라인 생김Rate Monotonic, EDF20..
구분MutexSemaphoreSpinLock역할상호 배제 (Mutual Exclusion)자원 개수 제한 + 동기화빠른 상호 배제 (Busy-wait)대기 방식Sleep (Block, Context Switch 발생)Sleep (Block, Context Switch 발생)CPU 점유 (Spin, Context Switch 없음)멀티코어 적합성 코어 간 경쟁 발생 시 지연시간 증가제한된 자원 관리 시 유용멀티코어에서 짧은 보호구역에 적합실시간성우선순위 역전(Priority Inversion) 위험지연 발생 가능, 예측성 낮음짧고 결정적인 시간 내 Lock/Unlock사용 예시장시간 접근 필요 자원 (ex. 설정 데이터)Buffer, Queue, Rate Control인터럽트 핸들러, 짧은 크리티컬 섹션우..
느낀점현재 보고 싶은 논문이 있는데, 해당 논문에 나온 몇 가지 개념들을 익히기 위해서 이 논문을 리뷰하고 있다. 문제 정의나 해결하는 방법에 대해서는 큰 어려움없이 쉽게 읽히고 이해가 간다. Problem Statement실시간 시스템에서 공통적으로 사용되는 동기화 방식(세마포어, 모니터 등)은 Priority Inversion(우선순위 역전) 문제를 유발할 수 있다특히, High Priority Task가 Low Priority Task에 의해 Blocking되는 상황 발생기존 연구에서는 Deadlock 방지가 미흡했고, Blocking 시간의 Worst-Case 분석이 어려웠다. 목표: 실시간성 보장을 해치지 않으면서, 우선순위 역전 문제와 Deadlock을 해결할 수 있는 효율적이고 분석 가능한 ..
앞 서 Monolithic Design Approach에 대해서 알아보았다. 말한 것과 같이 Monolithic Design Approach는 구성 요소를 구분하기 보다는 하나의 Binary 형태로 모든 기능 요소를 구성하는 특징이 있다. 만들기 쉽고, 특히나 빠른 개발이 필요한 상황에서는 빛을 발하기 쉽다. (프로토 타입 개발)그러나 이러한 개발방법은 유지보수가 어렵고, 해당 개발을 기준으로 파생 제품을 만들고자 할 때 어려움이 생긴다.가령 데이터 통신 프로토콜 함수 부분과 통신 처리 부분, 연산 부분이 모두 하나로 합쳐져 있는 구조라면, 통신 프로토콜이 변경되었다고 해서 간단하게 그 부분만 수정하기 어려울 수 있다는 것이다. 게다가 Super Loop를 주로 사용하는 개발방법으로 복잡한 시스템을 개발..
임베디드 개발 초기에 사용 가능한 리소스가 적을 때 개발하던 방식이다.좀 뭉뜨그려서 말하면, 하나의 거대한 프로그램 (함수, 바이너리)에 모든 기능을 때려박은 느낌이라고 할까. OS(Operating System)이 아니라 시간 순서에 따라 정해진 Task들이 수행되는 Scheduler를 주로 사용했다.sheduler(){uint32 scheduler_timer = 0;while(){schdeuler_timer++; if(scheduler_timer%0x5 == 0x0) { task_5ms(); } if(scheduler_timer%0xA == 0x0) { task_10ms(); }}아주 간략하게 표현하면 위와 같이 표현할 수 있다. 이런 개발 방..
스탠포드 대학 딥러닝 강의 목록 Deep Learning http://web.stanford.edu/class/cs230/ CS230 Deep LearningCourse Information In person lectures are on Tuesdays 11:30am-1:20pm.. Lectures will be held at Hewlett Teaching Center 200. All class communication happens on the CS230 Ed forum. For private matters, please make a private note visible only to the course iweb.stanford.edu [ Natural Language Processing ] CS 12..

하나의 함수와 또 다른 함수를 반전 이동한 값을 곱한 다음에 구간에 대해 적분하는 수학연산자이다.컨볼루션이 필요한 이유는 아래와 같다.입력과 출력이 있는 기본 시스템에서 어떤 출력 값이 현재 입력에만 영향을 받는 것이 아니라 이전 입력의 값에도 영향을 받는다고 할 때, Convolution 연산을 사용한다.여기에는 몇 가지 성질이 있는데 LTI (Linear Time Invariant)LTI 시스템은 input에 대하여 Linear하면서 동시에 Time Invariant한 output을 출력하는 시스템을 의미한다. Linear는 선형이라는 의미이다. Input이 scaling되거나 또는 두 input의 합의 형태로 입력될 때, Output도 그와 동일하게 출력되는 것을 의미한다. Time Invarian..

어떤 함수의 근을 빠르게 구하는 방법은 어떤 방법이 있을까? 함수 g(x)가 있다고 하자.가장 쉽게 생각해보면, l, u 라고 하는 임의의 두 수에 대해서 g(l) * g(u) 이때 이 l과 u의 값을 점차 좁혀나가면 해를 찾을 수 있을 것 이다. 이러한 기법을 IVT(Intermediate Value Theorem)이라고 한다. 이 IVT 방법을 이용하여 l + u / 2 값을 r값으로 하고 l과 u를 변경해가면서 해를 찾아가는 방식을 Bisection이라고 한다. 말 그대로 l과 u에 대한 g(u)* g(l) 하지만 이 방법보다 더 빠르게 근을 찾는 방법이 있다. 바로 Newton's method이다. Newton's method의 핵심은 f'(a)가 x = a에서의 접선의 기울기라는 기하학적인 미..