ขั้นตอนการติดตั้ง CUDA Toolkit และ NVIDIA CUDA SDK

December 13, 2009 Leave a comment

1. หลังจากที่ Log in เข้าไปที่เครื่องเซิฟเวอร์แล้ว ทำการสร้างไดเรคเทอรี่ส่วนตัวขึ้นมา (ในที่นี้จะเก็บไว้ที่ /tmp/4909611727) ทำการคัดลอกไฟล์ cudatoolkit_2.3_linux_64_ubuntu9.04.run  และ cudasdk_2.3_linux.run จาก /home/kasidit มาไว้ยังไดเรคเทอรี่ที่สร้างขึ้น

2. ติดตั้ง CUDA Toolkit ด้วยคำสั่ง sh cudatoolkit_2.3_linux_64_ubuntu9.04.run จากนั้นโปรแกรมจะถามถึง path ที่ต้องการจะใช้ติดตั้ง พิมพ์ /tmp/4909611727 ลงไป

3. คอมไพเลอร์ของ CUDA หรือ nvcc นั้นจะเก็บไว้ที่ /tmp/4909611727/cuda/bin ให้ตั้งค่าของ $PATH และ $LD_LIBRARY_PATH ดังนี้

      export PATH=/tmp/4909611727/cuda/bin:$PATH
      export LD_LIBRARY_PATH=/tmp/4909611727/cuda/lib64:$LD_LIBRARY_PATH

4. ทดสอบว่าสามารถใช้งาน nvcc ได้ด้วยการพิมพ์คำสั่ง nvcc –version ซึ่งจะได้ผลลัพท์ดังนี้

5. ติดตั้ง NVIDIA CUDA SDK ด้วยคำสั่ง sh cudasdk_2.3_linux.run โปรแกรมจะถามถึง path ที่จะใช้ติดตั้ง ซึ่งถ้าไม่ใส่จะถูกกำหนดให้เป็น NVIDIA_GPU_Computing_SDK แต่ในที่นี้จะกำหนดให้เป็น /tmp/4909611727/NVIDAI_CUDA_SDK

6. คอมไพล์ไฟล์ตัวอย่างที่มากับ NVIDIA CUDA SDK ด้วยการเข้าไปที่ /tmp/4909611727/NVIDIA_CUDA_SDK/C แล้วใช้คำสั่ง make

7. ทดสอบโปรแกรมด้วยการรันโปรแกรมตัวอย่างที่อยู่ที่ /tmp/4909611727/NVIDIA_CUDA_SDK/C/bin/linux/release ซึ่งโปรแกรมตัวอย่างที่จะทดสอบคือ deviceQuery และ bandwidthTest

deviceQuery

โปรแกรม deviceQuery เป็นโปรแกรมที่ใช้แสดงคุณลักษณะของกราฟิกการ์ดที่ใช้ ซึ่งผลลัพธ์จากการรันโปรแกรม deviceQuery เป็นดังต่อไปนี้

bandwidthTest

โปรแกรม bandwidthTest จะแสดงให้เห็นถึงความสามารถในการส่งข้อมูลแบบต่างๆระหว่างหน่วยความจำหลัก และหน่วยความจำ Global ของ GPU ทดสอบโดยการส่งข้อมูลขนาด 32 MB ผลได้เป็นดังโปรแกรม

Vector Addition

เขียนโปรแกรมบวกเวกเตอร์ เซฟด้วยชื่อไฟล์ vecadd.cu แล้วทำการคัดลอกไปยังเครื่องเซิฟเวอร์ และคอมไพล์ด้วยคำสั่ง nvcc vecadd.cu และรันโปรแกรมจะได้ผลลัพท์ออกมาดังนี้

โค้ดของโปรแกรมนี้คือ


#include <stdio.h>
__global__ void VecAdd(float *A, float *B, float *C, int N){
	int idx = (blockIdx.x * blockDim.x) + threadIdx.x;

	if(idx<N){
		C[idx] = A[idx] + B[idx];
	}
}
int main(){
	float *h_A, *h_B, *h_C;
	float *d_A, *d_B, *d_C;
	int N = 200000;
	int size = sizeof(float) * N;
	int threadPerBlock = 512;
	int blockPerGrid = (N + threadPerBlock -1) / threadPerBlock;

	// Allocate host and device memory
	h_A = (float*)malloc(size); h_B = (float*)malloc(size); h_C = (float*)malloc(size);
	cudaMalloc((void**)&d_A, size); cudaMalloc((void**)&d_B, size); cudaMalloc((void**)&d_C, size); 

	// Initial value on vector A and B
	for(int i=0;i<N;i++)
		h_A[i] = rand()/200, h_B[i] = rand()/200;

	// Copy vector A and B to device
	cudaMemcpy(d_A, h_A, size, cudaMemcpyHostToDevice);
	cudaMemcpy(d_B, h_B, size, cudaMemcpyHostToDevice);

	// Call kernel
	VecAdd<<< blockPerGrid, threadPerBlock >>>(d_A, d_B, d_C, N);

	// Copy back vector C
	cudaMemcpy(h_C, d_C, size, cudaMemcpyDeviceToHost);

	printf("%s\n", cudaGetErrorString( cudaGetLastError() ) );
	printf("Threads per block = %d\nBlocks per grid = %d\n", threadPerBlock, blockPerGrid);
	printf("Vector size = %d\nMemory used = %f MB\n", N, 3 * size / 1024.0 / 1024);

	// Deallocate host and device memory
	free(h_A); free(h_B); free(h_C);
	cudaFree(d_A); cudaFree(d_B); cudaFree(d_C);

	return 0;
}

Advertisements
Categories: Parallel Programming Tags: , , ,

VMware ESXi Internet Mechanisms

September 16, 2009 Leave a comment

tech_network_med_01

ปกติแล้วการเชื่อมต่ออุปกรณ์และเครื่องคอมพิวเตอร์ต่างๆเข้าด้วยกันนั้นจะอาศัย Switch (Physical Switch) และบน Switch ก็จะมี Port (Physical Port) ที่จะรอรับสายแลนจาก Network Interface Card (Physical NIC) ที่ซึ่งอยู่บนอุปกรณ์ และคอมพิวเตอร์แต่ละตัว

จากโมเดลการทำงานนี้เอง VMware ESXi ก็จะจำลอง Network ขึ้นมาด้วยวิธีเดียวกัน โดยมีส่วนประกอบคือ

  • Virtual Switch ซึ่งใน ESXi จะเรียกว่า vSwitch เป็นตัวที่จำลองการทำงานของ Switch ขึ้นมา แล้วอยู่ภายใต้การดูแลการทำงานของ VMkernel
  • Virtual NIC ซึ่งใน ESXi จะเรียกว่า vNIC จะมีอยู่ในทุกเครื่องของ Virtual Machine และเชื่อมต่อกับ Virtual Switch โดยผ่าน Virtual Port
  • Virtual Port เป็นตัวเชื่อมต่อระหว่าง Virtual NIC ของแต่ละ Virtual Machine กับ Virtual Switch

Virtual Machine แต่ละเครื่องที่อยู่บน VMware ESXi จะใช้ Physical NIC เป็นทางเชื่อมกับโลกภายนอก ด้วยการใช้bridge โดยที่ใน Physical NIC นั้นจะไม่มี IP Address แต่ IP Address จะขึ้นกับ Virtual NIC ในแต่ละเครื่องของ Virtual Machine แทน    Physical NIC นั้นเพียงแต่ทำหน้าที่เป็นทางผ่านของข้อมูลระหว่าง Physical Switch ที่อยู่ภายนอก และ Virtual Switch ที่อยู่ภายใน คล้ายกับการ Uplink ระหว่าง Switch (ดังนั้น Port ที่ต่อระหว่าง Physical NIC กับ Virtual Switch จึงถูกเรียกว่า Uplink Port )

Virtual Switch ที่ถูกสร้างขึ้นบน VMware ESXi สามารถจำลองขึ้นมาได้มากที่สุดถึง 127 เครื่อง และ Virtual Switch แต่ละเครื่องที่ยังสามารถมี Virtual Port ได้ถึง 1016 พอร์ต แต่บน ESXi ทั้งหมดรวมกันนั้นจะต้องมีไม่เกิน 4096 พอร์ต

อ้างอิงจาก

http://www.compspot.net/index.php?option=com_content&task=view&id=366&Itemid=72

Categories: Virtualization Tags:

Software Architecture of VMwave ESXi

September 16, 2009 Leave a comment

esx_Architect

ส่วนประกอบของ VMware ESXi มีดังต่อไปนี้

VMkernel – อยู่ใน Layer ชั้นล่างสุดของระบบ มีหน้าที่และฟังก์ชันการทำงานคล้ายกับระบบปฎิบัติการ เช่น การสร้าง Process, การควบคุม Process, การส่ง Signal, การจัดการระบบ file system, การสร้าง Thread     ถูกออกแบบมาเพื่อให้สามารถรองรับการทำงานของ Virtual Machine หลายเครื่องพร้อมกันได้ ด้วยฟังก์ชันการทำงานต่อไปนี้

  • Resource scheduling
  • I/O stacks
  • Device driver

VMkernel จะคอบควบคุมการทำงานของ Hardware device บนเครื่อง Server และคอยควบคุมการจัดแบ่ง resource ต่างๆให้กับ Guest VM แต่ละตัว

Direct Console User Interface (DCUI) – เป็น interface ที่ใช้ในการ configure และจัดการตั้งค่าพื้นฐานต่างๆที่สำคัญของระบบในเครื่อง server สามารถติดต่อกับ DCUI ได้โดย console ของเครื่อง server เท่านั้นไม่สามารถทำกำหนดค่าผ่าน Network ได้ ตัว DCUI นั้นจะเป็นตัวกำหนดค่าต่างๆและคอยแก้ใขข้อผิดพลาดในระบบ เช่น

  • กำหนด administrative password
  • กำหนดค่า Network ต่างๆ ถ้าหากไม่สามารถกำหนดอัตโนมัติด้วย DHCP ได้
  • จัดเตรียมการทดสอบระบบ Network อย่างง่ายไว้ให้
  • ใช้สำหรับดู Log file
  • ใช้ Restart server
  • ใช้ Restore ค่า default ของระบบ

Virtual Machine Monitor (VMM) – เป็น process ที่จำลองพื้นที่และสภาพแวดล้อมการทำงานให้แต่ละ Guest OS โดยมี helper process ชื่อ VMX เป็นของ guest OS แต่ละตัว ดังนั้นในแต่ละ Guest OS จะต้องมี VMM และ VMX คู่กันเสมอ

Common Information Model (CIM) – เป็น Interface ที่ใช้ในการจัดการในระดับ hardware กับเครื่อง guest OS ผ่าน remote application ซึ่งจะมีชุดของ API ที่เป็นตัวรองรับอยู่ CIM นั้นเป็น Open standard ในการแสดงและจัดการ resource และ hardware ของเครื่อง ซึ่ง CIM Framework มีส่วนประกอบคือ

  • CIM provider หรือเรียกว่า  CIM object manager เป็นส่วนที่จัดเตรียมการเข้าถึง device driver และ hardware บนเครื่อง ผู้ผลิต hardware นั้นสามารถเขียนตัว provider ที่จะใช้จัดการกับ hardware นั้นขึ้นมาเองได้  ESXi ได้สร้างมาตรฐาน CMPI ที่ยอมให้นักพัฒนาสามารถเขียน provider ตัวใหม่และสามารถนำมาต่อใช้งานได้ แต่จะต้องถูกรวมเข้าไปกับ system image เลย ไม่สามารถนำมาติดตั้งในขณะรันได้
  • CIM broker ทำหน้าที่คอบนำข้อมูลจากทุก CIM providers และแสดงสู่โลกภายนอก ผ่าน API มาตรฐาน เช่น WS-MAN

esx-arch1

Other User World Processes – process ที่ซึ่งถูกเรียกใช้โดย VMware เพื่อย้ายความสามารถในการควบคุมที่อยู่บนเครื่อง server ไปยัง user world

  • hostd เป็น process ที่จะเตรียม programmatic interface ให้กับ VMkernel และถูกใช้ด้วย VI Client ได้เหมือนกับ VI API    ซึ่ง hostd จะทำหน้าที่ยืนยันผู้ใช้แต่ละคน พร้อมกับเก็บสิทธิการเข้าถึง ว่าผู้ใช้คนนั้นสามารถจัดการอะไรบนระบบได้บ้าง
  • vpxa เป็น process ที่จะสามารถติดต่อไปยัง VirtualCenter และจะรันโปรแกรมพิเศษที่เรียกว่า vpxuser ที่จะเป็นตัวกลางระหว่าง hostd และ VirtualCenter
  • syslog เป็น daemon process ที่ทำงานบน user world เช่นกัน มีหน้าที่เก็บ log เมื่อเปิดให้ระบบเก็บ remote logging

Open Network Ports – มี Port จำนวนหนึ่งที่ถูกเปิดอยู่ตลอดเวลาบน ESXi ซึ่งเป็น Port ที่สำคัญในการทำงานได้แก่

  • 80 – เป็น server port  ที่จะแสดง static webpage  เพื่อใช้สำหรับการ browse มาที่ server และ port นี้จะถูก redirect ไปยัง port 443 เพื่อให้ client ติดต่อกับ server ผ่าน SSL
  • 443 – port นี้มีไว้สำหรับ client ติดต่อกับ server ผ่าน SSL เพื่อเรียกใช้ service ต่างๆ ได้แก่ VMware Virtual Infrastructure API(VI API)ที่ซึ่งสามารถเข้าใช้งาน RCLIs, VI client, Virtual center server และ SDK
  • 427 – port นี้มีไว้เพื่อเข้าใช้งาน service location  protocol ซึ่งเป็น protocol ที่ใช้ค้นหา VI API
  • 5989 – port นี้เปิดไว้สำหรับ CIM server ที่จะเป็น interface สำหรับ toolที่ใช้ในการจัดการ
  • 902 – port นี้เปิดไว้สำหรับ support VIM API version ก่อนหน้า

File System – VMkernel จะเก็บข้อมูลของ configuration files, log files, staged patches ไว้เป็นแบบ file  ที่อยู่บน memory และเพื่อให้ง่ายต่อการใช้งาน โครงสร้างของ file system จึงออกแบบมาให้เหมือนกับที่ใช้บนเครื่อง server ของ ESX เช่น

  • /etc/vmware สำหรับเก็บ ESXi configuration files
  • /var/log/vmware สำหรับเก็บ log files
  • /tmp สำหรับเก็บ staged patches

ตัว file system นี้จะเป็นอิสระจาก VMware VMFS file system ที่เป็นตัวเก็บ Virtual Machine เนื่องจาก VMFS จะถูกเก็บลงบน Disk บน host หรือบน shared storage

สามารถใช้ remote command line เพื่อจัดการกับ file system ทั้งที่อยู่บน memory และ VMware VMFS file system ได้ โดยผ่านการใช้ HTTPS get และ put

นอกจากนี้ข้อมูลที่อยู่ใน file system บน memory นั้นจะไม่อยู่อย่างถาวร เมื่อเครื่องถูกปิด ข้อมูลทั้งหมดก็จะหายไป ดังนั้น ESXi จึงมีความสามารถที่จะสั่งงานให้เก็บข้อมูลของ log ลงบน Disk ได้ผ่านทาง remote syslog server

User and Groups – User และ Group ถูกกำหนดไว้บน  ESXi server ซึ่งแต่ละคนจะสามารถเข้าสู้ระบบได้ผ่านทาง remote command line หรือ VIM API

Group นั้นประกอบจาก User หลายคน เหมือนกับระบบปฏิบัติการทั่วไป จะใช้ Group เช่น ต้องการกำหนเสิทธิให้กับ User หลายๆคนพร้อมกันในครั้งเดียว

Administrative privileges สามารถกำหนด User แต่ละคนว่าจะอยู่ที่ Group ไหนได้ ข้อมูลของ User และ Group นั้น ถูกเก็บไว้ที่ /etc/passwd, /eyc.shadow และ /etc/group และเหมือนกับระบบปฏิบัติการ Linux และใช้ฟังก์ชันมาตรฐาน crypt ในการเข้ารหัส

User Worlds – คำว่า  User Worlds นั้นหมายถึง process ที่ทำงานอยู่บน VMkernel แต่สิ่งแวดล้อมของระบบที่ User World ทำงานด้วยนั้นมีจำกัดเมื่อเทียบกับระบบปฎิบัติการทั่วไปอย่าง Linux เช่น

  • จำนวนของ Signal ที่มีให้นั้นจำกัด
  • API ของระบบนั้นเป็นเพียง subset ของ POSIX
  • /proc file system นั้นจำกัดไว้มาก
  • Swap file มีเพียงตัวเดียวให้ใช้ร่วมกันระหว่างหลาย User world process

อ้างอิงจาก

http://www.vmware.com/files/pdf/vmware_esxi_architecture_wp.pdf

Categories: Virtualization Tags:

How to install Guest OS in VMware ESXi

September 16, 2009 Leave a comment

ในตัวอย่างต่อไปนี้จะเป็นขั้นการลง Microsoft Windows XP ให้เป็น Guest OS บนเครื่อง Server ที่ติดตั้ง VMware ESXi โดยผ่าน Client Application คือ vSphere client

1. ติดต่อเครื่อง Server ผ่าน vSphere client ตามขั้นตอนที่ได้กล่าวไปก่อนหน้านี้ เมื่อ Log in เรียบร้อยแล้ว จะได้หน้าจอดังภาพ ให้เลือกที่เมนู “Create a new virtual machine” เพื่อสร้าง Virtual Machine เครื่องใหม่ขึ้นมาบนระบบ

OS_Untitled-1

2. เลือก Configuration ให้เป็น Typical แล้วกด Next

OS_Untitled-2

3. ตั้งชื่อเครื่อง Virtual Machine ที่สร้างขึ้นใหม่แล้วกด Next (ซึ่งในที่นี้จะตั้งชื่อว่า WindowsXP)

OS_Untitled-3

4. ทำการเลือก Datastore ที่ต้องการ แล้วกด Next

OS_Untitled-4

5. เลือกชนิดและเวอร์ชันของ Guest OS ที่ต้องการจะลงบนเครื่อง Virtual Machine ที่ส้รางขั้นใหม่ แล้วกด Next (ในที่นี้เลือกเป็น Microsoft Windows XP Professional 32 bit)

OS_Untitled-5

6. ทำการสร้าง Disk จำลองขึ้นบน Virtual Machine ให้เลือกขนาดของ Disk โดยจะต้องไม่เกิน Available space

OS_Untitled-6

7. เมื่อกำหนดค่าต่างๆของเครื่อง Virtual Machine เสร็จแล้ว จะปรากฎหน้าจอดังภาพ ให้กดที่ Finish

OS_Untitled-7

8. เมื่อได้ Virtual Machine เครื่องใหม่แล้ว ให้ทำการกำหนดค่าของฮาร์ดแวร์ต่าง ด้วยการคลิ๊กขวาที่ Virtual Machine นั้นแล้วเลือก Properties เลือกในส่วนของ CD/DVD Drive1 ติ๊กที่ “Connect at power on” เลือก Device Type เป็นแบบ “Host Device” ซึ่งหมายถึงให้ใช้ฮาร์ดแวร์จากเครื่อง Server ให้ให้ติดต่อทันที่ที่เปิดใช้งาน Virtual Machine นี้ จากนั้นทำการใส่แผ่น install ของ Microsoft Windows XP เข้าไปที่เครื่อง Server

OS_Untitled-8

9. เมื่อใส่แผ่น install แล้ว ที่หน้าจอหลักให้เลือกที่เมนู “Power on the virtual machine”

OS_Untitled-9

10. คลิ๊กขวาที่เครื่องที่ทำการ install แล้วเลือกที่ Open console เพื่อเปิดหน้าต่างควบคุมการทำงาน

OS_Untitled-10

11. เมื่อเลือกแล้วจะขึ้นหน้าต่างการทำงานของเครื่อง Virtual Machine นั้น

OS_Untitled-11

12. ทำการติดตั้ง OS เหมือนกับที่ติดตั้งบนเครื่องปกติ ซึ่งภาพหน้าต่างด้านข้างแสดงถึง การติดตั้ง Microsoft Windows XP

OS_Untitled-12

13. เมื่อติดตั้งเสร็จก็พร้อมใช้งานได้เสมือนกับทำงานกับเครื่องจริง

OS_Untitled-13

Categories: Virtualization Tags:

How to install VMware ESXi

September 16, 2009 Leave a comment

1. ใส่แผ่น VMware ESXi ลงไปที่เครื่องแล้วเปิดเครื่องใหม่ จะปรากฏหน้าจอดังภาพ ให้เลือกที่ ESXi Installer

Untitled-1

2. VMware จะเริ่มทำการ load ให้รอสักครู่

Untitled-2

3. กด Enter เพื่อเลือกที่จะ Install

Untitled-3

4. กด F11 เพื่อยอมรับข้อตกลง

Untitled-4

5. ทำการเลือก Partition ที่ต้องการ install และกด Enter

Untitled-5

6. เลือก F11 เพื่อยืนยันการ install

Untitled-6

7. ระบบจะทำการ install ให้รอสักครู่

OS_Untitled-7

8. เมื่อ install เสร็จสิ้นจะปรากฏหน้าจอดังภาพ ให้นำแผ่นออก จากนั้นกด Enter เพื่อให้ระบบ Restart

OS_Untitled-8

9. เมื่อเปิดเครื่องขึ้นมาใหม่จะได้หน้าจอดังภาพ ให้กด F2 เพื่อทำการกำหนดค่าในระบบ

Untitled-9

10. เลือกที่ Configure Password แล้วกด Enter เพื่อทำการตั้ง Password ใหม่

Untitled-10

11. ใส่ Password ในช่อง Old Password และ New Password ตามที่ต้องการแล้วกด Enter

Untitled-11

12. จากนั้นเลือกที่ Configure Management Network จะได้หน้าจอดังภาพ ให้ทำการเลือก IP Configuration เพื่อกำหนดค่า IP ของเครื่อง server ใหม่

Untitled-12

13. เลือกที่ Set static IP address and Network Configuration และทำการเปลี่ยน IP ของเครื่อง server ในส่วนนี้ต้องระวังเรื่องของ subnet mark ด้วย เมื่อตั้งค่าเสร็จแล้วให้กด Enter

Untitled-13

14 . เข้าไปที่ DNS Configuration แล้วทำการแก้ในส่วน Primary DNS Server ให้ตรงกับที่ตั้งค่าไว้ก่อนหน้านี้ และทำการเปลี่ยน hostname ตามที่ต้องการ จากนั้นกด Enter เพื่อตกลง

Untitled-14

15. กด Esc เพื่อออกจากการ configuration ระบบจะถามว่าต้องการ restart management network หรือไม่ให้กด Y เพื่อตอบตกลง

Untitled-15

16. ไปที่เครื่อง Client ที่จะเป็นเครื่องที่จะ remote เข้ามาเพื่อควบคุมการทำงานของเครื่อง server ให้เปิด web browser ขึ้นมาจากนั้นเข้าไปที่ https:// ตามด้วย static IP ของเครื่อง server  ตามที่ได้ตั้งไว้ จะปรากฎหน้าเว็บไซต์ดังภาพ ให้ทำการดาวน์โหลด vSphere Client จากลิงค์ที่ปรากฏบนเว็บ เพื่อในมาลงที่เครื่อง Client

Untitled-16

17. ทำการ Install vSphere client

Untitled-17

18. เมื่อ Install เสร็จแล้ว ให้เปิดโปรแกรม vSphere client จากนั้นให้ใส่ IP ของเครื่อง server แล้วใส่ Username เป็น root ตามด้วยใส่ Password ที่ตั้งไว้ก่อนหน้านี้

Untitled-18

19. เมื่อติดต่อกับเครื่อง server ได้แล้ว โปรแกรม vSphere client จะปรากฏหน้าจอดังภาพ

Untitled-19

Categories: Virtualization Tags:

ผะหมี

April 5, 2009 2 comments

        วันนี้มาด้วยหัวข้องงๆเล็กน้อย แต่รับรองว่ามีความสนุกครับ ผะหมีเป็นการทายปัญหาอย่างหนึ่งครับ อาจจะมีทั้งให้คำกลอนมา หรือว่าให้รูปภาพ แล้วให้ทายว่ามันเป็นอะไร ตัวอย่างของรูปภาพลองนึกถึงรายการชิงร้อยชิงล้านเมื่อสมัยก่อนน่ะครับ ที่มีเปิดภาพแล้วให้ทายคำอะไรแบบนั้นเลย ผะหมีเป็นการละเล่นอย่างหนึ่งที่มีมานานพอสมควรแล้วล่ะ แต่เชื่อว่าหลายๆคนอาจจะไม่เคยได้ยิน

        ตอนที่ผมอยู่ม.6 ก็มีช่วงนึงที่สำนักงานเขตบางกอกใหญ่(ถ้าจำไม่ผิด) จัดการแข่งขัน แล้วก็ให้เด็กนักเรียนหลายๆโรงเรียนเข้าไปแข่งกันทายปัญหาผะหมี ซึ่งผมก็ได้มีโอกาสไปแข่งกับเขาเหมือนกัน แต่ว่ามีแค่โอกาสไปแข่ง แต่ไม่ได้แข่ง บังเอิญว่าอาจารย์ก็ส่งใบสมัครไปให้แล้ว แต่ทางนั้นบอกว่าไม่ได้รับท่าเดียวเลย ผมกับเพื่อนทีมเดียวกันที่ไปก็เลยไม่ได้แข่งซะงั้น แต่ก็เลยถือโอกาสนั่งดูคนอื่นแข่ง (จริงๆแล้วออกมาตอนคาบที่มีเรียน ก็เลยถือโอกาสโดดซะมากกว่า)

        แล้วก็พอดีว่าช่วงก่อนจะไปแข่งอาจารย์ก็ได้เอาหนังสือที่รวมปัญหาผะหมีเอาไว้มาให้พวกผมได้อ่านเตรียมตัวไปแข่ง(ไปอย่างเดียว) ผมเห็นว่ามีหลายๆปัญหาที่ฮาแล้วก็กวนดีก็เลยแสกนเอาเก็บเอาไว้ วันนี้ก็เลยจะเอามาให้ลองเล่นกันครับ ง่ายๆก็คือดูรูปแล้วตอบว่ามันคืออะไร ผมจะลองเล่นให้ดูเป็นตัวอย่างก่อนซัก 2-3 ภาพครับ แล้วที่เหลืออยากให้ลองเล่นกันก่อน ส่วนเฉลยผมจะแอบแปะไว้ข้างล่างครับ

เริ่มด้วยรูปแรกเลย

รูปนี้ถ้าให้ลองทายกันเองก่อน ก็คงจะยากซักนิดนึง คำตอบของมันก็คือ แมว + (กัน)gun แล้วก็ผวนกลับมาก็จะได้เป็นคำว่า"มันแกว"ครับ

รูปที่สอง

รูปนี้เก็ตยากนิดนึง มันคือคำว่า "ตองอู" -*-

รูปที่สาม

อันนี้ก็ฮาเหมือนกัน อาหาร แล้วก็เป็นคำผวน คำตอบของมันก็คือ หาม + ฉลู แล้วก็ผวนจะได้เป็น หูฉลาม (เอากับมันสิ)

จะเห็นว่าคำตอบนั้นมีทั้งที่มาจากภาษาอังกฤษ มีทั้งเป็นคำผวนและอื่นๆอีกมากมาย ตามแต่คนคิดขึ้นมาจะเล่น ซึ่งบวกได้เลยว่าหลายๆอันกวนมาก ก็ที่เหลือผมจะให้ลองทายกันเองนะครับ แต่ผมจะเขียนคำใบ้ไว้ให้แล้วกัน

1. เป็นชื่อประเทศครับ (คำผวน)

 

2. ชื่อสถานที่ในกรุงเทพนี่แหละ เดาไม่ยาก

 

3. เป็นสัตว์ (คำผวน)

 

4. จังหวัดในประเทศไทย (ผวนอีกแล้ว)

 

5. ของใช้ที่มีกันทุกคน (คำผวน)

 

6. ชื่อสถานที่ครับ (รูปมันก็บอกแล้วเนอะ -*-)

 

7. ใบ้ก็รู้เลย ไม่ใบ้แล้วกันอันนี้

 

8. นารุโตะ (ใบ้ซะขนาดนี้แล้ว)

 

9. ปลาชนิดหนึ่งครับ (ยากอ่ะอันนี้)

 

10. อันนี้เห็นรูปคงเก็ตเลย

 

11. เป็นสกุลเงินครับ (คำผวน)

 

12. ผักหรือผลไม้(คำผวน)

 

 

 

 

 

 

 

เฉลยตามข้อเลยนะครับ (ทำแถบดำเอาจะเห็นคำตอบด้านล่าง)

1. ในรูปชี้หู กับชี้ดิน ก็เลยเป็น เอีย(ear)+ดิน ผวนก็เป็น "อินเดีย"

2. "สี่กั๊ก เสาชิงช้า" ตรงๆเลยแต่ก็เล่นคำนิดหน่อย

3. เป็นรูป หมู+จา(jar) ผวนก็เป็น "หมาจู"

4. คล้ายๆข้อที่แล้วครับ ปีน+จา(jar) ผวนเป็น "ปราจีน"

5. อันนี้ฮาสุดๆ ในรูปเป็นคนลาวครับ สังเกตุจากคำพูด ก็เลยเป็น ลาว+ท้อง ผวนเป็น "รองเท้า"

6. เป็น หัวหมา กับ ก(ได่) รวมกันเลยเป็น "หัวหมาก" (ซะงั้น)

7. ปลา two => "ปลาทู"

8. นิล ที่แปลว่าสีดำ กับจา(jar) รวมเป็น นิลจา => "นินจา"

9. "ปลาโลมา" ครับ โลมา แปลว่าขน

10. "ร หัน" (รร) ง่ายๆงี้แหละ

11. มีวงรี กับปูก็เลยเป็น รี+ปู ผวนเป็น "รูปี"

12. อันนี้ก็ฮา ในรูปเป็นฟองทักทายกัน ฟอง+ทัก ผวนเป็น "ฟักทอง" 555

Categories: เกม

วัฒนธรรมเฮโล

April 5, 2009 1 comment
        ช่วงนี้คำนี้เป็นคำฮิตที่ติดปากผมมากที่สุดคำหนึ่ง (มากสุดยังอุตส่าห์มีหลายคำ = =) สำหรับคนที่ยังงงกับความหมายของคำว่าเฮโล ก็จะขออธิบายสั้นๆตรงนี้ก่อนนะครับ ว่าเฮโลคืออาการของการแห่กันไป ชาวบ้านเขาว่ายังตูก็ว่าแบบเขาบ้าง สาเหตุที่คำนี้เริ่มติดปากผม เพราะพักหลังนี้ผมมักจะเห็นวัฒนธรรมนี้อยู่ทั่วไป แล้วก็ไม่ค่อยเห็นด้วยเท่าไหร่ ที่หลายคนกลับยึดถือวัฒนธรรมแบบนี้
 
        เคยสังเกตุมั้ยครับว่าเวลามีอะไรฮิตอะไรดังขึ้นมาที ทุกคนก็จะต้องแห่กันไปทำตามกันหมด แล้วพอไอเจ้าอะไรที่ว่ามันเลิกฮิตมันเลิกดังก็จะไม่มีใครสนใจเหลียวแลอีก ยกตัวอย่างง่ายๆก็อย่างของเล่นพอมีอะไรฮิตขึ้นมา ทุกคนก็จะต้องพยายามจับจองเป็นเจ้าของหามาเล่น แต่พอหมดหน้าฮิตเมื่อไหร่ ของเล่นเหล่านั้นก็จะถูกเอามาโละราคาหั่นแหลกเพราะว่าไม่มีคนซื้อ (ไปมัวซื้ออันใหม่ที่ฮิตกว่า) ที่เห็นๆตอนนี้ก็เจ้า Rubik นี่แหละ ขายกันเกลื่อนเมือง ผมก็เลยไม่เข้าใจว่าแต่ละคนสนุกที่ได้เล่นมันจริงๆหรือเปล่า หรือแค่เล่นตามที่เขาฮิตกันไปแค่นั้นเอง
 
        กรณีศึกษาที่ 2 ก็เป็นเรื่องของพวกกีฬา มีอยู่ช่วงนึงที่ภราดรกำลังฮิตมาก เปิดทีวีช่องไหนก็มีแต่พ่อแม่ส่งลูกไปเรียนเทนนิส เพื่อหวังจะชนะรายการแข่งใหญ่ได้เงินมาบาทยังพี่บอลเขามั่ง แล้วพอคนอื่นดังก็เปลี่ยนไปเล่นอย่างอื่นอีก แล้วจะเก่งซักอันมั้ยเนี่ย?
 
        กรณีศึกษาที่ 3 การเลือกคณะและอาชีพ ผมว่ามันก็ไม่แปลก แล้วก็ไม่ผิดนะ ที่เวลาเราเห็นคนนู้นคนนี้ประสบความสำเร็จ แล้วจะทำตามน่ะ แต่ว่าหลายๆอย่างมันก็เกินไปแล้วก็ไม่พอดีเอาซะเลย หลายคนไม่เคยคิดว่าตัวเองชอบอะไร ตัวเองทำอะไรได้ดี รู้แต่ว่าทำไอโน้นไอนี่แล้วเงินดี ทำไอนี่แล้วไส้แห้งไม่เอาหรอก โดยที่กลับไม่ได้ดูตัวเองว่าเหมาะสมรึเปล่ากับสิ่งเหล่านั้น เรื่องเงินเป็นเรื่องที่สำคัญก็จริง อะไรที่เงินดีก็แห่กันเข้าไปทำ แล้วก็แย่งงานกันทำ แล้วเงินมันจะยังดีอยู่มั้ย แต่กลับกันสิ่งที่เราทำได้ดีจริงๆ โอกาสที่มันจะได้เงินดีก็มีมากกว่าเห็นๆ แต่ทำไมไม่เลือกกัน?
 
        กรณีศึกษาที่ 4 วัฒนธรรม ประเพณีนิยม ก็นิยมตามชื่อแหละครับ ไม่ว่ามันจะดีหรือไม่ดี แต่ถ้าชาวบ้านเขาทำเราก็เอามั่ง แต่ก็น่าแปลกใจที่ส่วนใหญ่แล้วเรื่องดีๆมักจะไม่ทำตามกัน ก็ไม่เข้าใจว่าทำไม
 
        สิ่งที่ผมเชื่อว่าเป็นสาเหตุสำคัญที่สุดของวัฒนธรรมนี้คือ ความไม่เชื่อใจในตัวเอง ก็เลยจะต้องทำตามชาวบ้านไว้ก่อนน่าจะเป็นที่ยอมรับที่สุด ซึ่งก็ถูกส่วนหนึ่งเหมือนกัน แต่มันก็ไม่ได้ถูกทั้งหมดอย่างแน่นอน สิ่งที่ผมอยากบอกก็คือ คนเราจะต้องเชื่อในตัวเองบ้าง แต่ก็ไม่ถึงกับมากเวอร์ เพราะสิ่งนั้นจะทำให้เรามองเห็นตัวเอง และเข้าใจตัวเองได้มากขึ้น อย่ามัวแต่หลงไปกับสิ่งรอบข้างที่พยายามทำให้เราเชื่อ ลองชั่งน้ำหนักกันดูก่อน ว่าอะไรเหมาะสมกับเรามากที่สุด มันจะทำให้ชีวิตเราไม่ต้องถูกกระแสที่ไม่เข้ากับเราพัดพาไป
 
        ผมเองก็ยังเด็ก ไม่ได้มีประสบการณ์มากมายอะไร ไม่ได้พบเห็นมาซะทุกอย่าง ไม่ได้เข้าใจอะไรทุกเรื่อง เรื่องนี้ก็เป็นแค่เรื่องที่ผมเชื่อ ก็เท่านั้นเอง ซีเรียสไปมั้ยเนี่ย เหอๆ
Categories: Uncategorized