Mike Bell ผู้จัดการทั่วไปของ Mobile and Communications Group ของอินเทลได้ตอบคำถามที่ว่าซีพียูซิงเกิลคอร์ Atom ตระกูล Medfield ซึ่งจะถูกนำไปใช้กับสมาร์ทโฟนที่รันระบบปฏิบัติการแอนดรอยด์นั้นจะต่อกรกับซีพียูมัลติคอร์ที่เป็นแพลตฟอร์ม ARM จาก NVIDIA, Qualcomm และ Samsung ได้อย่างไร โดยเขาตอบว่าตัวจัดการเธรด (thread scheduler) ของแอนดรอยด์นั้นยังไม่พร้อมสำหรับซีพียูมัลติคอร์ด้วยซ้ำไป เนื่องจากระบบปฏิบัติการยังไม่มีการจัดการเธรด (thread scheduling) และการกำหนดเธรดให้รันบนซีพียูคอร์ที่กำหนด (thread affinity) ทำให้เมื่อโปรเซสของระบบปฏิบัติการทำงาน โปรเซสของแอพอื่นก็จะถูกหยุดการทำงานลง แต่อินเทลก็กำลังจัดการกับสิ่งเหล่านี้อยู่ เพื่อให้เมื่อบริษัทพัฒนาซีพียูมัลติคอร์ขึ้นมาแล้วมันจะใช้งานได้มีประสิทธิภาพสูงสุด
Bell ยังเสริมโดยอ้างผลการทดสอบชิปซีพียูเป็นการภายในว่า ในหลายกรณีซีพียูมัลติคอร์ยังประมวลผลงานช้ากว่าซีพียูซิงเกิลคอร์เสียอีก (แต่เขาไม่ได้ระบุว่าใช้ชิปของบริษัทใดบ้างในการทดสอบ) ซึ่งทำให้เกิดคำถามที่ว่าข้อได้เปรียบอะไรที่ผู้ผลิตชิปจะได้รับจากการพัฒนาให้มีซีพียูหลายคอร์บน die เดียวกัน
ท้ายที่สุด Bell ได้กล่าวโทษผู้ผลิตชิปที่ไม่ยอมปรับปรุงให้แพลตฟอร์มแอนดรอยด์สนับสนุนการทำงานแบบมัลติเธรด
ในการให้สัมภาษณ์นี้ Bell ไม่ได้ระบุว่าอินเทลจะปล่อยซีพียูมัลติคอร์เมื่อใดแต่อย่างไร และ ณ ถึงตอนนี้กูเกิลและ/หรือผู้ผลิตชิปบนแพลตฟอร์ม ARM ทั้งหลายก็ยังไม่ได้ออกมาแสดงความคิดเห็นต่อประเด็นนี้แต่อย่างใด
ที่มา: The Inquirer
Comments
ถูกหลุดการทำงานลง ?
แก้แล้วครับ
ไม่ใช่ความผิดของ Google หรอกหรอ
+1 อ่านแล้วงงเหมือนกัน
ตามความเข้าใจผมนะครับ
คือระบบปฏิบัติการมัน "เปิด" ก็คือมีแกนกลาง (core) มาให้ แล้วผู้ผลิตอื่นๆ ก็เอาไปพัฒนาต่อเพื่อให้เข้ากันได้ (compatible) กับฮาร์ดแวร์นั้นๆ
ตรงนี้ผมมองว่ามันไม่ใช่หน้าที่ของใครเฉพาะเจาะจง คงต้องทำงานร่วมกันมากกว่า ... กรณีนี้พี่บิ๊กอย่างอินเทลเข้าซึ่งเก๋าเกมพอตัว พอมาแตะปุ๊บก็สัมผัสได้ถึงความไม่ชอบมาพากลทันที
อินเทลก็คล้ายๆ กับ Doctor K มั้งครับ ... มองหน้าก็รู้อาการเลย
ผมว่าเหมือนยุคนึงที่ MS กับอินเทลทำงานร่วมกันตลอด พออินเทลผลิต CPU ตระกูลใหม่ๆ ที่มีชุดคำสั่งใหม่ๆ ก็จะถ่ายทอดเทคโนโลยีให้กับบริษัทอื่นๆ ด้วย
ตอนยุคโน้นนนนนน ก็เป็นยุคที่อินเทลเพิ่งบรรจุชุดคำสั่ง SSD มาใช้ ... ไม่นาน Windows และเกมต่างๆ ก็สนับสนุนชุดคำสั่งตรงนี้ หลังจากนั้นก็มีคู่แข่งคือ 3D now! จาก AMD มาพยายามแบ่งตลาด แต่ก็ไม่สำเร็จเท่าที่ควร
ผมเกิดไม่ทันนะ คนอื่นเค้าเล่ามาอีกที -///-
ชุดคำสั่ง SSD หมายถึง SSE รึเปลาครับ ;P
ใช่ครับ ที่ถูกต้องคือ SSE พิมพ์เพลินไปเยอะครับ
ขอบคุณครับ :D
ไม่ทันซะละเอียดเลยครับ
May the Force Close be with you. || @nuttyi
555
Dr.K นี่ผมก็ฟังเค้ามาอีกทีครับ =__=
ผมนึกว่ารุ่นแบล๊คแจ๊คซะอีก :)
เคยมีคนเล่าให้ฟังเหมือนกันครับ
/me นั่งอ่าน God Hands Teru
ก็ตัวเองเป็นพาร์ทเนอร์กับ Google อยู่ ถ้าว่า Google ก็เสียหาย กลายเป็นภาพลักษณ์ไม่ดีกับตัวเองด้วย (เพราะกำลังดัน Android อยู่)
ส่วนไอ้พวกผู้ผลิตชิพก็คู่แข่งตัวเองทั้งนั้น ก็เลยเบี่ยงประเด็นซะ ด่ามันสักที ได้กำไร (ฮา) กลายเป็นความผิดผู้ผลิตชิพที่ปิดบังว่าใช้งานกับ Android ได้ไม่ดีนะ กลายเป็นว่า Single Core แบบ Intel ดีกว่านะเออ เรามาใช้ Single Core กันเถอะ
งง ครับ แล้วที่ออกมาโครม ๆ เนี่ย ไม่ใช่หรือ (ผมแอบคิดว่า intel โกหก หรืออาจติดกับ MS มากเกินไป เพราะมีแต่ MS เรียกว่า thread หรือมี thread ใช้ ส่วน linux มันเป็น process)
คงเป็นแนวๆว่าแอนดรอยด์มีมือถือมัลติคอร์ก็จริง แต่ใช้งานมัลติคอร์ได้ไม่เต็มประสิทธิภาพครับ
เค้าบอกว่าเมื่อ thread ของ os ทำงาน thread อื่นๆจะหยุดครับ
นั้นแปลว่า android ยังเร็วขึ้นใด้อีก และอินเทลจะแก้ปัญหานี้ก่อนมัลติคอร์ x86 จะลง Android
samsung ใหญ่แค่ใหน ?
https://youtu.be/6Afpey7Eldo
รอดูประสิทธิภาพของ cpu 'atom' siglecore ของ intel ครับว่าจะมีประสิทธิภาพดีแค่ไหน ^^
Process กับ Thread มันก็ของ Kernel ที่เป็น Linux ไม่ใช่เหรอ หรือ Linux เวอร์ชั่น ARM มันมีปัญหาเรื่อง Thread - -'
น่าจะเป็นเรื่องของ android vm ครับ ที่จัดการเทรดไม่ดี
แต่ถ้าเป็น native apps มันคงโยนให้ linux kernel จัดการเทรดให้อยู่แล้ว
ผมว่าอินเทลเบี่ยงประเด็น และต้องการสร้างให้ยึดติดกับแพลตฟอร์ม
อันที่จริงด้วยแนวคิด Java แท้ๆไม่มีแนวคิดอย่างที่อินเทลบอกเลยครับ เพราะมันต้องทำให้เป็น platform independent ขืนทำอย่างงั้น ปัญหาจะตกอยู่ที่แอพพลิเคชันเสียอีกต้องมานั่งวุ่นวายบริหารเธรดเอง
สำหรับบน workstation/server เรื่องจะตกเป็นหน้าที่ของ JVM ที่ทำ thread scheduling เอง ว่าจะเรียกใช้/พัก thread ใดๆ โดยเฉพาะอย่างพวก Thread Affinity (เพื่อให้ได้ low-latency response time) โปรแกรมเมอร์ไม่สามารถระบุได้โดยตรง ถ้าอยากจะทำจริงๆ จะต้องไปใช้ JNI ไปเรียกใช้โค้ด C/C++ เฉพาะแพลตฟอร์ม
ซึ่งจะเห็นว่ามันทำให้แอพที่ได้ยึดติดกับแพลตฟอร์มยิ่งขึ้นไปอีก ยิ่งได้สร้าง fragment กันกระจายวายวอด
ว่าแต่จริง ๆ แล้วเรื่อง multicore นี่ปัญหาอยู่ที่ kernel linux ของ android หรือว่าอยู่ที่ Dalvik vm กันแน่ครับ
ของตัวเองไม่มีก็ต้องพูดแบบนี้แหละว้า
+1 ครับ ผมว่า intel ทำ multicore ไม่ทันเลยมาบอกว่า คนอื่นยังใช้ไม่เต็มประสิทธิภาพมากกว่า (ผมถึงบอกว่าเขาโกหก) ตัว kernel linux เองไม่น่าจะมีปัญหาอย่างที่ intel บอกเลย (ส่วนเรื่องที่บอกว่า ทำงานแล้ว thread อื่นหยุด ผมว่ามันปกติ เป็นเรื่องของการ freeze process ของ android เอง ซึ่งไม่ถึอเป็นข้อเสีย เพราะมันก็สามารถเขียนแบบ service หรือไม่หยุดทำงานเมื่อ switch app ได้)
นั่นสิ android ใช้ kernel linux 2.6 ซึ่งมัน support multi core cpu ได้เป็นร้อยเป็นพันอยู่แล้วนี่
แต่ของเขาก็แรงนะ อิอิ
ของเค้าแรง
อินเทลบอกใช้ HT ไปก่อน
ถ้ามองกันจริงๆ
อินเทลพยายามชี้จุดที่แอนดรอยด์ยังพัฒนาต่อเพื่อให้สมบูรณ์ได้ ผมยังไม่เห็นเค้าบอกตรงไหนเลยนะว่า Multi-core ไม่ดี ก็แค่บอกว่าแอนดรอยด์ยังประมวลผลบน Multi-core ได้ไม่สมบูรณ์ ... แค่นั้น
ทำไมตีเจตนาไปอีกทางหว่า ...
แสดงว่าถ้าแก้ปัญหาได้ การทำงานของ android ก็จะไหลลื่นกว่านี้ใช่ไหม
แล้วที่โฆษณาโครม ๆ นั่นก็โกหก หรือว่าเป็นข้ออ้างของอินเทลเท่านั้น
Coder | Designer | Thinker | Blogger
ผมก็ไม่แน่ใจเหมือนกันนะครับว่าโครงสร้างข้างในเป็นอย่างไรกันแน่ แต่จากประสบการณ์ส่วนตัวของผม ผมใช้ CamScanner ให้มันจัดการตัดเอกสารให้เกือบร้อยแผ่น แล้วก็กดออกมาเช็ค CPU ผมก็เห็นว่ามันใช้งานไป 50% คาดว่าคงจะเป็น 1 Core เต็มๆ จากนั้นก็ออกมาเปิดเว็บรอ สักพักกลับไปดูงานก็เสร็จหมดไม่มีปัญหาอะไร ตอนเปิดเว็บอยู่ก็ไม่ได้กระตุกเลยนะ อย่างนี้มันก็แปลว่า process ด้านหลังก็ไม่ได้หยุดทำงานไม่ใช่หรอครับ หรือว่ามันไม่ดีเพราะว่าจะต้องใช้งาน CPU ให้เต็ม 100% ไปเลยถึงจะเรียกว่าดี เท่าที่ผมคิดตอนนี้คือแบ่ง CPU ส่วนหนึ่งแยกไว้เฉพาะเบื้องหน้า และที่เหลือไว้เบื้องหลัง ง่ายๆอย่างนี้ล่ะสบายแล้ว ให้โปรแกรมที่เราใช้งานข้างหน้าไม่กระตุก ผมว่าก็มีความสุขดีละ บางทีถ้ามันอัด CPU ไปซะทั้งหมดเลยแล้วทำการใช้งานเบื้องหน้ากระตุก อันนี้ผมว่าไม่น่าจะดี ไม่รู้ว่าเข้าใจถูกประเด็นหรือเปล่า
SPICYDOG's Blog
50% ไม่ได้หมายความว่าใช้ไป 1 core เสมอไปครับ
อีกอย่างคือ ต้องแยกเรื่องการจัดการ process กับเรื่อง core ออกจากกันด้วยครับ เพราะ 1 CPU ก็ทำงานแบบ multi-process ได้ ซึ่งตรงนี้จะเรียกว่า task-scheduling ครับ
ออ ขอบคุณครับ
SPICYDOG's Blog
นี่จะบอกว่า Multi-core ไร้ประโยชน์หรอ 4 core นี่ก็โฆษณาไปงั้นๆ ไม่ได้เร็วขึ้นจริงๆ อย่างงั้นสินะ
ผมว่าที่ต้องการสื่อคือ Android ยัง Optimize ไปได้อีกครับ