분류 전체보기 110

(LAB 05) Fast, Reliable File Transfer with Custom TCP/IP

Lab 05 요약: Fast, Reliable File Transfer with Custom TCP/IP Lab 05의 목표는 네트워크 조건(높은 지연 시간 및 패킷 손실률)에서 TCP 성능을 향상시키는 것입니다. 이를 위해 기존 TCP의 지수적 백오프 알고리즘을 제거하고, 수정된 TCP 스택을 테스트하며, 이를 통해 10Mbps 이상의 전송 성능을 달성해야 합니다. 실험은 AWS 및 VirtualBox 환경에서 수행됩니다.주요 실습 내용 1. TCP 성능 향상 배경  • 지수적 백오프 문제:     • TCP는 패킷 손실을 혼잡으로 간주하여 전송 속도를 줄임.     • 그러나 패킷 손실이 네트워크 불안정성(예: 위성 링크) 때문이라면 성능 저하가 과도함.   • 목표:     • TCP 성능을 향상시..

(LAB 04) Fast, Reliable File Transfer

Lab 04 요약: Fast, Reliable File Transfer Lab 04의 목표는 빠르고 신뢰할 수 있는 파일 전송 프로그램을 설계하고 구현하는 것입니다. 이 과제에서는 네트워크의 대기 시간, 손실률, 대역폭 제한 등의 어려운 조건에서 TCP보다 더 높은 성능을 보이는 파일 전송 유틸리티를 개발합니다. 최종 결과물은 명령줄 인터페이스를 통해 동작하며, 안정적이고 오류 없이 파일을 전송해야 한다. 이 랩은 기존 업무에서 사용했던 프로토콜을 차용했다.주요 요구 사항 1. 프로그램 설계  • IP 기반 파일 전송 유틸리티 구현.   • 전송 파일의 크기는 최소 1GB 이상이어야 함.   • 명령줄 인터페이스는 scp와 유사하게 설계. 2. 성능 테스트 시나리오   • Case 1:     • RTT..

(LAB 03) Network Measurement

Lab 03 요약: 네트워크 성능 측정 및 분석 Lab 03에서는 AWS 환경에서 네트워크 대역폭, 지연 시간, 패킷 손실 등이 네트워크 성능에 미치는 영향을 실험하고 분석합니다. 이를 위해 iperf, tc(netem), scp와 같은 도구를 활용하며, 다양한 네트워크 조건에서의 성능 차이를 이해하고 최적화 방법을 탐구합니다.주요 실습 단계 1. 대역폭 및 지연 시간 측정  • 도구: iperf, ping, tc   • 실험 절차:     1. Ping으로 RTT 측정: 클라이언트와 서버 간 라운드트립 시간을 측정.     2. UDP 대역폭 측정: iperf를 사용하여 최대 대역폭 측정 (-b 옵션 사용).     3. TCP 처리량 측정: iperf로 TCP 전송 속도 측정.   • 네트워크 조건 ..

(LAB 02) AWS Bring UP and Queuing

Lab 02 요약: AWS 네트워크 및 대기열 설정 Lab 02에서는 AWS 네트워크 구성, EC2 인스턴스 설정, 네트워크 트래픽 시뮬레이션을 통해 클라우드 네트워킹 및 대기열 관리의 기본 개념을 학습합니다. VPC, 서브넷, VyOS 라우터 구성, iperf를 사용한 네트워크 성능 분석을 다루며, 실습을 통해 네트워크 환경의 설정 및 최적화를 경험합니다.주요 단계  1. AWS VPC 및 네트워크 구성  • VPC 생성: 10.0.0.0/16 CIDR 블록을 사용하는 VPC 생성.   • 서브넷 생성:     • 클라이언트, 서버, VyOS 라우터, 공용 인터넷 서브넷으로 구성된 4개의 서브넷 생성.   • 인터넷 게이트웨이 설정:     • VPC에 인터넷 게이트웨이를 연결하고, 라우팅 테이블을 업..

(LAB 01) Network with VyOS, and simple Socket Program

Lab 01: Summary 과제 개요 Lab 01에서는 컴퓨터 네트워크와 Linux 환경을 중심으로 다양한 실습을 수행하여 클라우드 네트워킹 및 소켓 프로그래밍의 기본을 이해하는 것을 목표로 한다. 학생들은 단계별 과제를 통해 Linux 설치, 네트워크 구성, VyOS 설정, 그리고 소켓 프로그래밍까지 다룬다.주요 단계 1. Linux 설치  • VirtualBox를 사용한 Linux 설치:   • Virtual Machine(VM)에 Linux 설치.   • 최소 512MB 메모리와 1~2개의 프로세서를 구성.   • 가상 메모리 크기를 12GB 이상으로 설정.   • 필수 패키지 설치:     • gcc, g++, net-tools, vim, openssh-server, traceroute 등. 2..

(Lecture 20) Embeddings and Vectorizations

강의 요약: EE542 Lecture 20 - Embeddings and Vectorizations 이번 강의는 **임베딩(Embeddings)**과 **벡터화(Vectorizations)**를 중심으로, 자연어 처리(NLP)와 데이터 표현의 주요 개념과 기술을 다루었다. Word2Vec과 같은 기법을 통해 단어와 문서의 의미를 수치적 벡터로 표현하고, 이를 다양한 NLP 작업에 활용하는 방법이 강조되었다.주요 내용 1. 임베딩의 필요성  • 텍스트를 수치 데이터로 변환해야 머신러닝 모델에 활용 가능.   • One-Hot Encoding:     • 단어를 길이 $N$의 벡터로 표현하며, 단 하나의 값만 1이고 나머지는 0.     • 공간 비효율적이며 단어 간 관계를 표현하지 못함.   • Bag o..

(Lecture 19) Machine Learning 2

강의 요약: EE542 Lecture 19 - Machine Learning 2 이번 강의는 머신러닝의 응용을 확장하여 데이터 수집 및 처리, 센서 기반 학습 모델, 파워 모니터링, 그리고 머신러닝 알고리즘의 실질적 한계와 개선 방향을 다루었다. 특히 클라우드 컴퓨팅 환경에서 에너지 및 열 관리 문제와 같은 실질적인 문제 해결 방안을 제시하였다.주요 내용 1. 도메인 지식과 머신러닝  • 머신러닝 접근법은 도메인 지식과 결합해야 더 나은 성능을 발휘함.   • 기존 데이터 분석 방법:   • 물리적 모델에 의존하였으나, 복잡성과 상관관계 부족으로 한계 존재.   • 현재 머신러닝 접근법:     • 데이터 수집 및 전처리를 통해 모델을 학습.     • 비지도 학습과 지도 학습 모두 활용 가능. 2. 자..

(Lecture 18) Machine Learning

강의 요약: EE542 Lecture 18 - Machine Learning 이번 강의는 머신러닝(Machine Learning) 기술의 기초부터 응용까지 다루며, 데이터 수집, 전처리, 학습 알고리즘, 그리고 실제 응용 사례를 중심으로 설명한다. 특히, 하드웨어 가속기(FPGA)를 활용한 문서 처리와 데이터 분석, 그리고 머신러닝 알고리즘의 한계와 교훈에 대해 다룬다. 인터넷 클라우드 과목에 왠 머신러닝인가 싶지만, 이미 컴퓨터 관련된 모든 과목에서 머신러닝, AI를 빼고는 말하기 힘든 수준에 온것 같다. 어떤 과목이든 한번씩은 언급하게 되는것 같다. 주요 내용 1. 머신러닝의 필요성  • 복잡한 문제 해결을 위해 데이터를 기반으로 학습.   • 실세계 문제를 해결하기 위한 모델 기반 결과 도출.   ..

(Lecture 17) Big Data Processing

강의 요약: EE542 Lecture 17 - Big Data Processing 이번 강의는 빅데이터 처리에 대해 다루며, 대규모 스트리밍 데이터, 네트워크 보안, 문서 분석, 그리고 빅데이터의 패턴 매칭과 문법 기반 파싱과 같은 핵심 주제를 포함했다. 또한, FPGA를 활용한 하드웨어 가속기 설계와 데이터 분석의 미래 방향도 논의되었다.주요 내용 1. 대규모 스트리밍 데이터 처리  • 이미지 및 신호 처리:     • 3D 소나 빔포밍.     • 자동 표적 인식.     • 비디오 스트림 압축.   • 패턴 및 구문 감지:     • 네트워크 침입 탐지.     • 데이터 추출 및 구문 분석.   • 의미 데이터 처리:     • 데이터 분류 및 클러스터링.     • 콘텐츠 기반 라우터 설계. 2..

(Lecture 16) Database in the Cloud

강의 요약: EE542 Lecture 16 - Database in the Cloud 이번 강의는 클라우드 데이터베이스의 개념, 전통적인 데이터베이스와의 차이점, 그리고 SQL과 NoSQL의 비교를 중심으로 클라우드 환경에서 데이터 저장 및 관리의 주요 기술을 다루었다. 특히 ACID와 BASE 모델의 특성, 데이터베이스 확장성 문제, 그리고 다양한 데이터베이스 시스템의 활용 사례가 강조되었다.주요 내용  1. 클라우드 데이터베이스의 주요 활용  • 빅데이터 처리:     • 정보 요약, 의미 분석, 패턴 매칭, MapReduce 활용.   • 데이터 분할 및 관리:     • 데이터 정제, 인덱싱, K-means 클러스터링. 2. 데이터베이스 개념   • 데이터베이스(DB):     • 체계적으로 조직..