|
3 nodes in line เล็กลง ก็เห็นชัดขึ้น
หลังจากทดลอง 3 โหนดเรียงกัน ก็ทำให้เข้าใจพฤติกรรมอย่างแจ่มแจ้ง รู้งี้ทำมาตั้งนานแระอะ แงๆๆๆๆ พอลองเขียน paper ก็ทำให้รู้ว่าอะไรที่ยังไม่ดี อะไรที่ยังขาดไป ก็ทำให้ต้องทำงานเพิ่ม ต่อไปก็จะลองเพิ่ม feature เข้าไปเรื่อยๆเช่น ปิด radio, ตั้ง timer เป็นต้น
Create Date : 26 กันยายน 2548 | | |
Last Update : 26 กันยายน 2548 0:02:24 น. |
Counter : 340 Pageviews. |
| |
|
|
|
|
SMAC bug fixed and Configuration
อาจารย์ท่านช่างเป็นสุดยอดจริงๆ ไอ้เราก็หา bug มาตั้งนานว่าทำไมมันเกิด segmentation fault (โปรแกรมอ้างตำแหน่งใน memory แต่ไม่พบ) ท่านอาจารย์ชี้แนะให้ไปดูพวก array ที่ใช้ node id เป็น index โหะๆ จริงๆด้วยหวะ ค่า default มันกำหนดให้มี MAX schedule แค่ 4 คือรับ schedule จากเพื่อนบ้านแค่ 4 แต่ชองเรามันมากกว่านั้น ก็เลยขยายค่า MAX schedule ออกไป ก็ใช้ได้เลยซะงั้น 5555 โง่จริงๆกรู สมกับสโลแกน buftimistic มองโลกในแง่ของควายจริงๆ ^^
ต่อไปก็ทดสอบ แค่ 4-5 โหนด แต่ตอนนี้ติดปัญหาทีว่าพวกเปิด sleep-wakeup cycle แล้ว delivery ratio เป็น 0 เลย แสดงว่าโหนดมันหลับ หรืออะไรเนี่ยแหละทำให้มันไม่พร้อมจะรับ packet สู้ต่อไป
การตั้งสมการ ก็ยากกว่าที่คิด เพราะ Ec ไม่คงที่ สู้ต่อไป สิ่งที่อยากจะวัดเพิ่มคืออัตราการลดลงของพลังงาน อืมม จะวัดดีไหมนะ วัดแล้วได้อะไร......
Create Date : 13 กันยายน 2548 | | |
Last Update : 13 กันยายน 2548 0:09:36 น. |
Counter : 369 Pageviews. |
| |
|
|
|
|
NS2 - SMAC bug and GDB
ลองลง NS2 ใหม่โดยที่ยังไม่ได้แก้ไขอะไรเลย แล้วลองรัน scenario ของเราเอง ปรากฎว่า segmentation fault เช่นกัน กรำ...=.=" มี bug นี่หว่า
ก็เลยลองเล่น gdb [LINK] เป็น debuger tool ของ GNU
#gnu ns #set args scenario1.tcl #run
ถ้ามัน มี error มันจะบอกด้วยว่าเกิด ที่ function ไหน ก็ไปกำหนด breakpoint ที่ฟังก์ชั่นนั้นๆ
#break thatfunction(int,double) #run
พอโปรแกรมหยุด ก็สามารถสั่งให้รันแบบเป็นขั้นๆได้
#s #n
จะเรียกดูย้อนหลังก็ได้ว่ามี stack เป็นยังไงด้วย backtrace
#bt
แต่ทำยังไงก็ไม่รันทีละบรรทัดแหะๆ แล้วแต่ละโหนดก็ต้องเรียกฟังก์ชั่นเดียวกัน ก็ทำให้ยากขึ้นไปอีกว่าโหนดไหนมันเรียก โอ้วววววว
ถ้าเราค้นพบ bug ได้ก็ดีสิ...แต่ไอ้ gdbมันก็ใช้ยากหวะ ต้องทำความรู้จักกับมันให้มากกว่านี้หน่อย
งานกรูเลยม่ายเดิน ซะงั้น....^^"
Create Date : 06 กันยายน 2548 | | |
Last Update : 6 กันยายน 2548 0:26:37 น. |
Counter : 311 Pageviews. |
| |
|
|
|
|
NS2 SMAC - Validation test
จากครั้งที่แล้ว validation test เกิด segmentation fault เพราะ config การสร้างโหนดใน test กับของเราไม่เหมือนกัน ก็เลยre-code ทั้ง C++ และ config การสร้างโหนดใน test-suite ให้เหมือนที่จะใช้จริง
เมื่อกำหนด modeltype เป็น ORG ทำ test ไป 3 ตัวคือsmac , smac-multihop , energy ผลปรากฏว่าก็ผ่านหมด ต่างกันแค่ตัว output ที่มีการ log-energy เท่านั้น
ก้อสบายใจในระดับหนึ่ง
แต่พอไปรัน ของจริงตามscript เดิมปรากฎว่าเกิด segmentation fault อีก ก็เลยลอง trace ดู จาก ฟังก์ชั่น recv ใน SMAC ตรงแถวๆ Cancelling CS (ยกเลิก carrier sense เพราะได้รับ Smac packet) ซึ่งพบว่าทั้ง function ทำงาน ok นะ ก็เลยไม่รู้จะไป trace ตรงไหนต่อ เลยยังหาที่ผิดไม่ได้
แต่พอลองทดสอบกับ 4 nodes ก็ทำงานเป็นปกตินะ หรือว่าเป็น SMAC bug หว่า เดี๋ยวลอง ทดสอบแบบ node density น้อยลงดีกว่า
คิดว่าน่าจะเป็นที่ config แต่ก็ไม่แน่ เพราะยังหาสาเหตุที่ทำให้ segmentation fault ไม่ได้
Create Date : 03 กันยายน 2548 | | |
Last Update : 3 กันยายน 2548 15:12:46 น. |
Counter : 481 Pageviews. |
| |
|
|
|
|
NS2 Validation Test ไม่เห็นโลงศพไม่หลั่งน้ำตา
ไม่เห็นขี้หมาก็ย่อมไม่อุดจมูก
ทำมาตั้งนาน ก้อเจอข้อผิดร้ายแรงหลายที่ อาจารย์ก็บอกให้ใช้ validation test แล้วแต่ไม่ยอมใช้ จนตอนที่ต้องมาใช้ SMAC แล้วมันไม่ work แถม debug ไม่ไหว เพราะทำมาเยอะจนไม่รู้ว่าจุดไหนทำให้เกิดปัญหา
ก็เลยต้องเริ่มใหม่ เพิ่ม code ทีละส่วน แล้วรัน validation test ดูว่ามีข้อผิดพลาดไหมและผลที่ได้ตรงกับในผลอ้างอิงหรือไม่ ต้องใช้ validation test 2 ตัวคือ SMAC กับ Energy นะ มันอยู่ใน ns-2.28/tcl/test
คราวนี้ก็ต้องเสียเวลาตรวจสอบเพื่อความชัวร์สักระยะ ก่อนจะขยับไปจำลองสถานะการที่เป็นปัญหาจริงๆ
Create Date : 29 สิงหาคม 2548 | | |
Last Update : 29 สิงหาคม 2548 23:47:46 น. |
Counter : 393 Pageviews. |
| |
|
|
|
|
| |
|
|