http://www.ubuntu-kr.org/viewtopic.php?f=2&t=16175
내 용
발표 1 우분투로 슈퍼컴 만들기 = 김성윤
발표 2 geogebra (수학 그래프+도형 툴) = 미남imsu(구임수)
자기 소개 및 자유 이야기
발표 3 : 우분투에서 임베디드 리눅스 개발 환경 구축하기 = 뻔뻔강사(유명환)
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi리눅스 pacemaker 기반의 High Availaiblity 구성방법에 대해 설명합니다. pacemaker를 사용하는 다른 리눅스 기반도 구성이 가능합니다.
Pacemaker 기반 Linux High Availability 입문용으로는 적합하지 않을 수 있습니다. Pacemaker 기반 Linux High Availability를 한 번도 설치 및 구성을 하지 않은 리눅스 관리자라면 설치 문서를 먼저 참고하십시오.
RHEL7 및 CentOS 7을 중심으로 레드햇 계열의 리눅스에 적합한 내용으로 작성되었습니다.
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편Ji-Woong Choi레드햇 엔터프라이즈 리눅스 7 기반에 대한 운영자 가이드 기초편을 공유합니다.
부트로더 관리, 패키지, 네트워크, 스토리지 및 크래쉬 덤프 발생에 대한 관리까지 기초 운영 지식에 대한 부분을 본 문서를 통해 얻으실 수 있습니다.
오픈소스컨설팅의 문경윤차장께서 공유해주신 내용입니다.
Scouter와 influx db – grafana 연동 가이드Ji-Woong Choi본 문서는 Scouter APM의 InfluxDB에 대한 세팅 및 정보를 볼 수 있도록 구성하는 가이드 문서입니다.
스카우터에 플러그인 제작으로 참여하시고 계시는 박상천 부장님의 컨트리뷰션 문서입니다.
[2018] MySQL 이중화 진화기NHN FORWARD24시간 365일 서비스를 위한 MySQL DB 이중화.
MySQL 이중화 방안들에 대해 알아보고 운영하면서 겪은 고민들을 이야기해 봅니다.
목차
1. DB 이중화 필요성
2. 이중화 방안
- HW 이중화
- MySQL Replication 이중화
3. 이중화 운영 장애
4. DNS와 VIP
5. MySQL 이중화 솔루션 비교
대상
- MySQL을 서비스하고 있는 인프라 담당자
- MySQL 이중화에 관심 있는 개발자
[오픈소스컨설팅]systemd on RHEL7Ji-Woong ChoiRHEL7에 적용된 systemd의 소개, 특장점, 부팅 프로세스, 유닛 파일의 구조, systemd에 대한 주요 명령어를 소개하는 장표입니다.
본 장표를 활용하여 RHEL7, CentOS7에 대한 내용을 이해하시는 데 도움이 되었으면 합니다.
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드Opennaru, inc. source : http://www.opennaru.com/apm/apache-tomcat-auto-provisioning/
OPENMARU APM은 Apache 웹서버와 Tomcat 에 대하여 자동으로 설치와 구성 그리고 튜닝하며 해당 구성에 대한 설치보고서를 자동생성하는 OPENMARU Installer 기능을 제공합니다.
이 기능은 OS 만 설치되어 있으면 수분 이내에 웹 서버와 WAS 서버를 설치하고 고난이도의 클러스터링 설정이나 리눅스 튜닝을 자동으로 수행하여 즉시 서비스할 수 있는 환경을 구성해주는 자동 프로비져닝 기능입니다.
기존의 엔지니어의 기술 지원에 의존적인 웹서버와 WAS 구성을 전문가 수준으로 자동으로 구성하여, 구축기간 뿐만아니라 비용 절감 효과를 제공합니다.
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험Seung-Hoon BaekUbuntu 14.04(64-bit)에서 ODL, OVS, 그리고 Mininet의 설치 및 사용 방법을 설명하고 OVS와 Mininet을 이용해 가상 네트워크를 생성하여 ODL로 네트워크를 제어하는 실험
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스Seunghwa Song오늘날 멀티코어 프로세서 세상은 이기종 컴퓨팅 환경이 대부분이라 해도 과언이 아니다.
병렬 컴퓨팅은 비약적인 속도 향상과 전력 소비 감소라는 장점이 있지만 사용하기가 까다롭고 특히 다양한 아키텍처로 이루어진 이기종 컴퓨팅 환경에서는 소프트웨어 개발이 더욱 어려워진다.
이 프리젠테이션에서는 이기종 컴퓨팅 환경에서의 병렬 처리를 위한 프로그래밍 언어를 소개하고 OpenCV와 같은 영상처리 라이브러리에서의 활용 예시를 보여준다
[2018] MySQL 이중화 진화기NHN FORWARD24시간 365일 서비스를 위한 MySQL DB 이중화.
MySQL 이중화 방안들에 대해 알아보고 운영하면서 겪은 고민들을 이야기해 봅니다.
목차
1. DB 이중화 필요성
2. 이중화 방안
- HW 이중화
- MySQL Replication 이중화
3. 이중화 운영 장애
4. DNS와 VIP
5. MySQL 이중화 솔루션 비교
대상
- MySQL을 서비스하고 있는 인프라 담당자
- MySQL 이중화에 관심 있는 개발자
[오픈소스컨설팅]systemd on RHEL7Ji-Woong ChoiRHEL7에 적용된 systemd의 소개, 특장점, 부팅 프로세스, 유닛 파일의 구조, systemd에 대한 주요 명령어를 소개하는 장표입니다.
본 장표를 활용하여 RHEL7, CentOS7에 대한 내용을 이해하시는 데 도움이 되었으면 합니다.
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드Opennaru, inc. source : http://www.opennaru.com/apm/apache-tomcat-auto-provisioning/
OPENMARU APM은 Apache 웹서버와 Tomcat 에 대하여 자동으로 설치와 구성 그리고 튜닝하며 해당 구성에 대한 설치보고서를 자동생성하는 OPENMARU Installer 기능을 제공합니다.
이 기능은 OS 만 설치되어 있으면 수분 이내에 웹 서버와 WAS 서버를 설치하고 고난이도의 클러스터링 설정이나 리눅스 튜닝을 자동으로 수행하여 즉시 서비스할 수 있는 환경을 구성해주는 자동 프로비져닝 기능입니다.
기존의 엔지니어의 기술 지원에 의존적인 웹서버와 WAS 구성을 전문가 수준으로 자동으로 구성하여, 구축기간 뿐만아니라 비용 절감 효과를 제공합니다.
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험Seung-Hoon BaekUbuntu 14.04(64-bit)에서 ODL, OVS, 그리고 Mininet의 설치 및 사용 방법을 설명하고 OVS와 Mininet을 이용해 가상 네트워크를 생성하여 ODL로 네트워크를 제어하는 실험
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스Seunghwa Song오늘날 멀티코어 프로세서 세상은 이기종 컴퓨팅 환경이 대부분이라 해도 과언이 아니다.
병렬 컴퓨팅은 비약적인 속도 향상과 전력 소비 감소라는 장점이 있지만 사용하기가 까다롭고 특히 다양한 아키텍처로 이루어진 이기종 컴퓨팅 환경에서는 소프트웨어 개발이 더욱 어려워진다.
이 프리젠테이션에서는 이기종 컴퓨팅 환경에서의 병렬 처리를 위한 프로그래밍 언어를 소개하고 OpenCV와 같은 영상처리 라이브러리에서의 활용 예시를 보여준다
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)내훈 정Easy to understand review of nature of the Lock-free algorithm.
작년에 KGC2013에서 했던 내용의 업데이트 버전임. C++11에 맞추어 업데이트 되었음.
[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례(Joe), Sanghun Kim[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례
IBM Korea 김상훈
JoeKim@kr.ibm.com
02-3781-7900 (서버, 스토리지 문의)
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)Ubuntu Korea CommunityWatch video on Youtube! : http://www.youtube.com/watch?v=aZDKyNtSqOo
장소 : 서울시 용산구 원효로 3가 53-5 청진 빌딩 10층 1004호 TERA TEC 사무실
시간 : 2010년 1월 30일 토요일 오후 2:00
발표 : 김성윤님, 강분도님, 노태상님 - 리눅스 커널 - 개요 및 이슈,
세미나 정보 : http://www.ubuntu.or.kr/viewtopic.php...
Place : TERA TEC Office, 1004, 10th floor, Cheongjin Bldg., Wonhyoro 3-ga, Yongsan-gu, Seoul, Korea
Time : 14:00, Saturday, 2010Y 1M 30D
Presentation : Kim Seongyun, Kang Bundo, Noh Taesang - Linux Kernel - Outline and issue
Seminar Info : http://www.ubuntu.or.kr/viewtopic.php...
About Ubuntu
Ubuntu is an ancient African word meaning 'humanity to others'.
It also means 'I am what I am because of who we all are'.
The Ubuntu operating system brings the spirit of Ubuntu to the world of computers.
http://www.ubuntu.com
About Ubuntu Korea Community
We want to be happy using Ubuntu.
'Korean Ubuntu User Forum' Welcomes your voluntary supports.
http://www.ubuntu-kr.org
MCU(nanheekim)Nanhee Kim@Powersupply(YeungnamUniv.) @NanheeKim @nh9k
질문이 있으면 언제든지 연락주세요!
Please, feel free to contact me, if you have any questions!
github: https://github.com/nh9k
email: kimnanhee97@gmail.com
SQL-on-Hadoop with Apache Tajo, and application case of SK TelecomGruterDeView 2013 Presentation - Jae-hwa Jung, Gruter
SQL-on-Hadoop with Apache Tajo,
and application case of SK Telecom
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoMario ChoSamsung Open Source Conference 2015.
Linux Kernel Boot process
link: http://www.soscon.net/index.asp
Ubuntu Korea at FOSSASIA Summit 2022Ubuntu Korea CommunityThe Ubuntu Korea Community was established in 2005 and is the verified Local Community (LoCo) team for Ubuntu in South Korea. They organize local Ubuntu events and activities to promote Ubuntu and other open source technologies. Community members communicate through forums, social media, chat platforms, and mailing lists. Events include seminars, workshops and conferences. The team also partners with other local communities and contributes to projects like Hanjp-IM keyboard input method development. In 2021, they held the first UbuCon Asia conference. For 2022, they plan to focus more on local activities like Ubuntu 22.04 release parties and improving infrastructure, while the status of UbuCon Asia 2022 is still undetermined.
Memory Attack - The Memory Attack TechniquesUbuntu Korea CommunityThe document is a presentation on memory attack techniques given by Kim Seong Min. It covers 4 topics:
1. What are memory attacks and types of memory bugs and attacks.
2. Attacking the stack, including buffer overflows, control-flow hijacking, and mitigations like NX stacks and canaries.
3. The evolution of defenses like ASLR and techniques like return-oriented programming to bypass them.
4. Q&A portion to discuss the ongoing "eternal war in memory" between attackers and defenders.
나의 우분투 이야기Ubuntu Korea Community2018.11.10 - Ubuntu Fest, Daejeon (우분투 페스트, 대전)
나의 우분투 이야기 - 강천성(Kaggle Korea)
https://fest.ubuntu-kr.org
http://event.ubuntu-kr.org/2018/10/01/ubuntu-fest.html
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community2018.11.10 - Ubuntu Fest, Daejeon (우분투 페스트, 대전)
딥러닝 세계에 입문하기 위반 분투 - 이수민
https://fest.ubuntu-kr.org
http://event.ubuntu-kr.org/2018/10/01/ubuntu-fest.html
4. 컴퓨터 속도의 한계
일반적으로 컴퓨터의 속도를 결정짓는 이론적인 요인
- 컴퓨터의 CPU clock 속도
- 단위 clock당 수행할 수 있는 instruction의 개수
보통 CPU clock 속도는 Hz로 표시
- 1초당 진동하는 진동수를 의미
연산 성능 척도 => MFlops, GFlps
1Gflops = 초당 10억번의 실수 연산 능력
Pentium III 800Mhz 의 이론 성능은 800Mhz * 1 CPU = 800 MFlops 가 됨
Pentium Xeon 2.4 의 이론성능은 2.4Ghz *2(SSE2) = 4.8 GFlops 가 됨
Ia64 1.4 GHz의 이론성능은 1.4 X 2 X 2 = 5.6 Gflops 가 됨
-> 실제 성능치는 이론성능의 58~60% 정도의 효울을 보임
5. 1980년대~1990년대 초반
당시 슈퍼 컴퓨터들은 고성능의 단일 CPU를 탑재 하거나 벡터 레지스터(Vector register) 기능을 포함
해 CPU성능 향상을 통해 고성능 연산 능력을 제공하는 벡터형 SMP(Symmetric Multi Processor)가 주류
입출력 성능과 벡터 레지스터를 이용한 CPU의 계산 능력은 우수하였으나 가격이 매우 비싸다는 문제와
차후 시스템 확장성에 대한 한계를 가짐
- SMP의 경우, 시스템이 하나의 운영체제를 이용해 여러 개의
CPU를 작업량에 맞게 효율적으로 활용하는 기능으로써 여러
개의 CPU를 이용해 별다른 연결장치 없이 내부적으로 memory
를공유해 효율적인 성능을 높일 수 있었다.
- 2~4개의 프로세서를 갖는 SMP 시스템은 아주 간단하게
구축할 수 있지만, 그 이상의 프로세서를 갖는 시스템의 경우
에는 문제가 모든 프로세서가 모든 I/O 및 메모리 자원을 엑세
스할 수 있어야 하기 때문 자치 공유 자원이 병목 현상에 빠지
기 시작하며, CPU를 더 추가 할 경우 반환률이 감소 될 수도 있
다
6. 1994년 ~1997년
- CPU 에 대 한 단 가 가 저 렴 해 졌 기 때 문 에 다 수 의 일 반 적 인 CPU(4 ~ 1024CPUs) 를 이 용 하 는
MPP(Massively Parallel Processor)형 병렬 슈퍼컴퓨터가 등장한 시기
- MPP란 프로그램을 여러 부분으로 나누어 여러 프로세서가 각 부분을 동시에 수행
- 각 프로세서는 운영체계와 메모리를 따로 가지며 프로세서간에는 message passing로 통신
- 상용 소프트웨어들의 부재와 병렬 시스템을 사용하는 사용자
들이 병렬화라는 특수한 개념의 프로그램 기법을 습득 해야 한
다는 치명적인 단점을 지님
- 사용자 측면의 단위 계산 성능 향상을 추구 할 때에는 다른 머
신 보다도 훨씬 좋은 성능을 병렬화를 통하여 보일 수 있음
- 사용자들이 병렬 슈퍼컴퓨터 시스템에 탑재되어 있는 CPU 수
만큼의 웍스테이션들이라고 생각 할 수 있어 작업량이 많을 때
는 여러 대의 웍스테이션들을 보유하고 있는 것처럼 Through-
Put(단위 시간당 작업 소화 능력)개념으로 확대해 사용할 수 있
다는 점.
7. 1998년 ~ ˳ѫ
- 현 재 는 CC-NUMA(Cache Coherent Non-Uniform Memory Access) 라 는 DSMP(Distributed Shared
Memory Processor)구조의 슈퍼컴퓨터들이 인기를 끌며 주류를 이루고있음
-CC-NUMA 아키텍쳐의 슈퍼 컴퓨터는 손쉽게 작업 성능을 향상 시켜 줄 수 있는 SMP 구조와 최대 성능
을 보장해 줄수 있는 MPP 구조로 되어 있음
- 1996년부터 불어오기 시작한 리눅스 열풍은 기초과학 분야
및 연구소등에서 값비싼 슈퍼컴퓨터들을 구입해 활용하기보다
저비용으로 고성능을 보일 수 있는 리눅스 기반의 PC 클러스터
시스템이 등장하게됨
-클러스터(Cluster)는 MPP 보다 좀더 관리자 면에서 효율적인
운영체제가 필요한 시스템임,
-사용자가 직접 machine를 관리/통제(병렬프로그래밍)해야 한
다는 점이 MPP와 같다. 시스템들은 서로 memory를 제공 할 수
있는 연결 장치가 사용자의 기호(비용)에 맞게 구축 될 수 있으
며, 문제가 발생한 machine은 바로 교체가 가능하며 low
machine과 High machine을 혼합하여 사용할 수 있다는 특징이
있다.
15. •486DX4 100Mhz X 16node
•Each processor had 16M of 60ns DRAM.
•Each node had a 540M or 1G EIDE disk.
•Three 10Mbs bus-master ethernet cards
Beowulf
- Beowulf 는 1994 년 미 항 공 우 주 국 NASA 산 하 연 구 소 인
CESDIS(Center of Excellence in Space Data and information
Science)에서 Super 컴퓨터 Cray의 임대기간 종료에 대비하기 위
해 새로운 병렬처리 용 Super 컴퓨터의 개발을 시작하였고 16 노
드의 클러스터를 이용하여 만든 병렬 컴퓨터의 프로젝트명
- 베어울프는 8세기 영국의 서사시의 주인공
- 도날드 베커, 토머스 스털링
- Beowulf는 PC를 Ethernet과 같은 LAN으로 연결하여 만든 PC
Cluster에서 병렬처리 한 프로그램을 실행시켜서 Gflops급의
Super 컴퓨터를 구현것이다.
-1994 년 16 대 의 66MHz Intel 80486 + 10Mbps Ethernet ->
100MHz 486DX4 업그레이드 (74MFLOPS)
34. Key 복사
cp ssh_host_rsa_key.pub ssh_known_hosts2
ssh_known_host2 파일 수정
of,192.168.100.250 ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDIWbfwXYNe04NtEYqhEP+LzN9a3VxfFX0SQ6m
03dqjF1q1vf168EE5XhH6My6bso7I60FbfnAkjpaRukXaWam8C3aRgrykNXU5qP+ejWRK
5D54PQDIxzfTDvyLXabZwfA/dSL4BV1gjB/8BUPbCipRnqOPOJCeaoBOJMkh1eE3WkCI7x
uZwzXi5B7XT/SkIYUuTpX9OkEnhxRImQlSD1VDcT/yBtwWBKqzaFJ629X0uQHnshatVdM
60DVJVHvhj2j3CkIuquY4InSnUDLdOZmbpJfL8If1pkL8Mel67EIfF6a25TuTH605d6xzd0N
JNNuE9wth1sQ1HJzj//o1aolx root@openform
ssh_known_host2 파일 안에 다른 노드의 키 추가
SSH
58. MPI(Message Passing Interface)는 병령 실행 프로그램에서 노드에 분산된 프로세스
사이에 정보를 교환하는 메시지를 전달하는 방법을 정의한 규약 중 하나이다.
MPICH 는 MPI 표준규약이 적용된 프리, 오픈소스이다. 이 프로그램은 Argonne
National Lab 과 Mississippi State University 에서 작성하였으며 MPI-1.1을 따른
MPICH 와 MPI-2 에 따른 MPICH2 가 있다.
http://www-unix.mcs.anl.gov/mpi/mpich/
configure –prefix=/home/share/mpich -cc=gcc -fc=f77
$ make
$ make install
MPICH
59. 1. SUM
다음 프로그램은 1부터 100까지 더하는 프로그램으로 Broadcast 연산과 Reduce 연산을 하도록 되어 있고 프로
그램 흐름은 다음과 같다.
위 그림과 같이 node01 은 ( 1,3 5,7, 9.... 99)까지 합을 node02 는 ( 2,4,6,8,10 ... 100)가지의 합을 구하게 되어
이를 합하게 되는 구조이다.
MPICH
61. int main (int argc, char *argv[])
{
int done = 0;
int number = 0;
int sum;
int mysum = 0;
int iproc;
int nproc;
int i;
MPI_Init (&argc, &argv);
MPI_Comm_size (MPI_COMM_WORLD, &nproc);
MPI_Comm_rank (MPI_COMM_WORLD, &iproc);
MPICH
62. while (!done)
{
if (iproc == 0)
{
if (number == 0) number = 100;
else number = 0;
START_TIMER;
}
MPI_Bcast (&number, 1, MPI_INT, 0, MPI_COMM_WORLD);
MPICH
63. if (number == 0) done = 1;
else
{
for (i = iproc + 1; i <= number; i+= nproc) mysum += i;
MPI_Reduce (&mysum, &sum, 1, MPI_INTEGER, MPI_SUM, 0, MPI_COMM_WORLD);
if (iproc == 0)
{
STOP_TIMER;
printf ("sum is %dn", sum);
printf ("elapsed time is %.3fmsn", ELAPSED_TIME);
}
}
}
MPI_Finalize ();
}
MPICH
64. MPICH
컴파일 방법 :
기존
cc -o ksy sumcc
MPI 사용시
mpicc -o ksy sum.c
실행 방법 : mpirun -np {프로세서 수} 실행 파일
Mpirun -np 12 ksy
65. 실제 이 프로그램을 CPU 1개가 있는 노드 2개에 실행을 하여 보면 다음과 같다.
1 CPU 사용 시
[baron@node01 TEST]$ mpirun -np 1 SUM
sum is 5050
elapsed time is 0.061ms
2 CPU 사용 시
[baron@node01 TEST]$ mpirun -np 2 SUM
sum is 5050
elapsed time is 3.547ms
문제 :
병렬 처리에도 불구 하고 이 결과가 나오는 이유는 무엇인가?
MPICH
66. 답 :
이유는, 실제 계산을 보면, 2CPU로 나누어 계산은 빠르나 이를 합하는 과정에서
네트워크 사용에 의한 트래픽 결과 이다. 이 때문에 1 CPU 보다 늦은 결과가 나온
다. 그러나 만일 100 가지 합이 아니라 1억까지 합이라면 그 결과는 달라진다.
결론 :
병렬 처리를 할 경우 다양한 문제에 대한 정확한 접근이 필요로 한다.
위 예제에서 보여 주듯 문제에 대한 정확한 이해와 그 성능에 대한 정확한 이해가
필요로 한다.
MPICH