Faith Evans feat. Stevie J – "A Minute" [Official Music Video]
การเพิ่มแกนหลายตัวให้กับไมโครโปรเซสเซอร์ได้สร้างโอกาสที่สำคัญสำหรับการเขียนโปรแกรมแบบขนาน แต่จำเป็นต้องใช้แอพพลิเคชันฆาตกรเพื่อผลักดันแนวคิดไปสู่กระแสหลักนักวิจัยกล่าวในระหว่างการอภิปรายในการประชุมชิปร้อน <
ซอฟต์แวร์ส่วนใหญ่ในวันนี้ยังคงถูกเขียนสำหรับการดำเนินการตามลำดับและรูปแบบการเขียนโปรแกรมจำเป็นต้องเปลี่ยนแปลงเพื่อใช้ประโยชน์จากฮาร์ดแวร์ได้เร็วขึ้นและเพิ่มจำนวนแกนบนชิป โปรแกรมเมอร์ต้องเขียนโค้ดในลักษณะที่ทำให้งานสามารถแบ่งและทำงานพร้อม ๆ กันผ่านแกนและเธรดต่างๆ
การมุ่งเน้นและเงินเป็นจำนวนมากได้เข้าสู่การสร้างเครื่องจักรที่รวดเร็วและภาษาโปรแกรมที่ดีขึ้นเดวิดแพตเตอร์สันคอมพิวเตอร์กล่าว ศาสตราจารย์ด้านวิทยาศาสตร์แห่งมหาวิทยาลัยแคลิฟอร์เนียเบิร์กเลย์กล่าวในการประชุมที่สแตนฟอร์ดเมื่อวันจันทร์ ความสนใจเพียงเล็กน้อยในการเขียนโปรแกรมเดสก์ท็อปแบบขนาน แต่โปรแกรมประยุกต์เช่นเกมและเพลงอาจเปลี่ยนแปลงได้ ผู้ใช้โปรแกรมดังกล่าวต้องการประสิทธิภาพการทำงานแบบเรียลไทม์ที่ดีที่สุดดังนั้นโปรแกรมเมอร์อาจต้องใช้โมเดลที่เลิกงานมากกว่าหลายเธรดและแกน
ตัวอย่างเช่นรูปแบบใหม่ของความคล้ายคลึงกันสามารถนำมาปรับปรุงคุณภาพของเพลงที่เล่นบนพีซี และสมาร์ทโฟนกล่าวว่า รหัสที่ใช้งานได้ดีกว่าในการแยกช่องและเครื่องมือต่างๆในท้ายที่สุดอาจสร้างเสียงผ่านการปฏิสัมพันธ์แบบขนานมหาวิทยาลัย California, Berkeley มีห้องปฏิบัติการคอมพิวเตอร์แบบขนานที่นักวิจัยกำลังพยายามทำความเข้าใจเกี่ยวกับการใช้งานแอพพลิเคชันซึ่งจะช่วยเพิ่มประสิทธิภาพของรหัส สำหรับอุปกรณ์มือถือ โครงการหนึ่งมีจุดมุ่งหมายเพื่อนำเสนอการเรียกดูเดสก์ท็อปที่มีคุณภาพไปยังอุปกรณ์มือถือโดยการเพิ่มประสิทธิภาพโค้ดตามภารกิจเฉพาะเช่นการแสดงผลและการแยกวิเคราะห์หน้าเว็บ อีกโครงการหนึ่งเกี่ยวกับการเพิ่มประสิทธิภาพของรหัสเพื่อให้ได้รับข้อมูลด้านสุขภาพที่รวดเร็วขึ้น ห้องปฏิบัติการได้รับการสนับสนุนโดยอินเทลและไมโครซอฟต์
นักวิจัยเบิร์กเลย์พยายามที่จะนำความเท่าเทียมกันโดยแทนที่บิตของโค้ดที่เขียนขึ้นโดยใช้ภาษาสคริปต์เช่น Python และ Ruby on Rails ด้วยรหัส C ระดับต่ำใหม่ รหัสใหม่เน้นเฉพาะงานเฉพาะเช่นการวิเคราะห์รูปแบบเสียงเฉพาะในแอพพลิเคชันการจดจำเสียงพูด Patterson กล่าวในการให้สัมภาษณ์เมื่อวันพุธ รหัสนี้เขียนขึ้นโดยใช้ OpenMP หรือ MPI ซึ่งเป็นส่วนติดต่อเขียนโปรแกรมประยุกต์ที่ออกแบบมาเพื่อเขียนแอพพลิเคชันแบบขนานระดับเครื่อง
ผู้เชี่ยวชาญจะต้องเขียนโค้ดแบบขนานพิเศษนี้ Patterson กล่าว จะช่วยลดเวลาในการพัฒนาโปรแกรมเมอร์ที่จะใช้ Python และ Ruby on Rails ซึ่งจะทำให้การพัฒนาแอพพลิเคชันทำได้ง่ายขึ้น แต่ไม่ได้เน้นเรื่องความเท่าเทียมกัน Patterson กล่าวในการสัมภาษณ์ ห้องทดลองได้แสดงให้เห็นถึงการดำเนินงานเฉพาะเจาะจงโดยมีค่าเท่ากับ 20 โดยใช้รหัสเครื่องระดับต่ำ
แนวความคิดแบบขนานไม่ใช่เรื่องใหม่และเป็นโดเมนของการประมวลผลสมรรถนะสูง แต่โปรแกรมเมอร์ต้องเผชิญกับงานที่น่ากลัวด้วยการขาดเครื่องมือซอฟต์แวร์และสภาพแวดล้อมของฮาร์ดแวร์ที่เปลี่ยนแปลงไป
"หัวข้อต่างๆต้องมีการซิงโครไนซ์อย่างถูกต้อง" Christos Kozyrakis, ศาสตราจารย์ด้านวิศวกรรมไฟฟ้าและ วิทยาการคอมพิวเตอร์ที่มหาวิทยาลัยสแตนฟอร์ดในระหว่างการนำเสนอก่อนการอภิปราย รหัสจะต้องเขียนในรูปแบบที่สามารถคาดเดาได้และมีขนาดมากขึ้นเมื่อมีแกนเพิ่มขึ้นเรื่อย ๆ
คอมไพเลอร์ยังต้องมีความชาญฉลาดและมีสติมากพอที่จะแบ่งหัวข้อได้ทันเวลาเพื่อให้ผลลัพธ์ได้รับตามลำดับที่ถูกต้อง Kozyrakis กล่าว. ความพยายามที่ผิดพลาดในการสร้างความคล้ายคลึงกันในรหัสสามารถสร้างซอฟต์แวร์ที่มีปัญหาหากการคำนวณเฉพาะไม่ได้ดำเนินการตามลำดับที่กำหนด นั่นคือปัญหาที่เรียกกันทั่วไปว่าสภาวะการแข่งขัน coders อาจจำเป็นต้องเรียนรู้วิธีการใช้เครื่องมือการเขียนโปรแกรมหลายตัวเพื่อให้ได้ระดับความเท่าเทียมกันมากขึ้นผู้ร่วมอภิปรายกล่าวว่า
Patterson กล่าวในที่ประชุมว่า "ไม่มีการใช้วิธีขี้เกียจในการเขียนโปรแกรม"
หน่วยความจำและความล่าช้าของเครือข่ายได้ก่อให้เกิดปัญหาคอขวดในการรับส่งข้อมูลซึ่งอาจทำให้ประสิทธิภาพการทำงานที่เกิดขึ้นได้โดยการรันงานแบบคู่ขนาน นอกจากนี้ยังมีเครื่องมือการเขียนโปรแกรมที่แตกต่างกันสำหรับสถาปัตยกรรมที่แตกต่างกันซึ่งทำให้ยากที่จะใช้ประโยชน์จากฮาร์ดแวร์ทั้งหมดที่มีอยู่
เครื่องมือแบบขนานจำนวนมากในปัจจุบันนี้ได้รับการออกแบบมาเพื่อควบคุมความสามารถในการประมวลผลแบบขนานของซีพียูและหน่วยประมวลผลกราฟิกเพื่อปรับปรุงประสิทธิภาพของระบบ Apple, Intel, Nvidia และ Advanced Micro Devices เป็นหนึ่งใน บริษัท ที่สนับสนุน OpenCL ซึ่งเป็นระบบการเขียนโปรแกรมแบบขนานที่จะได้รับการสนับสนุนในระบบปฏิบัติการ Mac OS X 10.6 ของ Apple ที่เรียกว่า Snow Leopard ซึ่งมีกำหนดวางจำหน่ายในวันศุกร์ OpenCL แข่งขันกับไมโครซอฟท์ซึ่งกำลังสนับสนุนเครื่องมือเขียนโปรแกรมแบบขนานของ DirectX และ Nvidia ซึ่งมีกรอบ CUDA OpenCL มีภาษาโปรแกรม C คล้ายกับ API (Application Programming Interfaces) เพื่อจัดการการกระจายเมล็ดบนฮาร์ดแวร์เช่น เป็นแกนประมวลผลและทรัพยากรอื่น ๆ OpenCL สามารถช่วยให้ Mac OS ถอดรหัสวิดีโอได้เร็วขึ้นโดยการแจกจ่ายการประมวลผลแบบพิกเซลผ่านหน่วยประมวลผลกราฟิกและซีพียูหลายตัวในระบบ
เครื่องมือทั้งหมดที่มีอยู่จะมุ่งเน้นไปที่สภาพแวดล้อมของซอฟต์แวร์ที่แตกต่างกันและใช้ทรัพยากรที่แตกต่างกัน Patterson กล่าว ตัวอย่างเช่น OpenCL มุ่งสู่การดำเนินงานใน GPU มากขึ้น โมเดลที่เป็นกรรมสิทธิ์เช่น DirectX ยากที่จะปรับใช้ในสภาพแวดล้อมการประมวลผลที่ต่างกันในขณะที่บางรุ่นเช่น OpenCL ปรับให้เข้ากับสภาพแวดล้อมเฉพาะที่ขึ้นอยู่กับ GPU
"ฉันไม่คิดว่า [OpenCL] จะได้รับการยอมรับในสถาปัตยกรรมทั้งหมด" แพตเตอร์สันกล่าวว่า "เราต้องการในขณะเดียวกันเพื่อพยายามอื่น ๆ " เช่นพยายามปรับปรุงรูปแบบการเขียนโปรแกรมด้วยเครื่องมือการพัฒนาที่ใช้กันโดยทั่วไปเช่น Ruby on Rails เขากล่าวว่า
ในขณะที่ผู้ชมชี้ให้เห็นว่าปัญหาแบบคู่ขนานเป็นปัญหา ทศวรรษที่ผ่านมาผู้ร่วมอภิปรายกล่าวว่ามหาวิทยาลัยกำลังใช้วิธีการใหม่ในการทำงานกับเครื่องมือการเขียนโปรแกรมหลาย ๆ แบบเพื่อให้เกิดความเท่าเทียมกัน หลังจากหลายปีของการพัฒนาชิปเงินทุนรัฐบาลก็ให้ความสนใจกับการประมวลผลแบบขนานโดยการระดมทุนในโครงการต่างๆด้วย Kozyrakis กล่าวว่า Stanford ได้จัดตั้งห้องปฏิบัติการขึ้นเพื่อพัฒนาโปรแกรมประยุกต์แบบคู่ขนานให้แก่มวลชนภายในปีพ. ศ. นักวิจัยกำลังทำงานร่วมกับ บริษัท ต่างๆเช่น Intel, AMD, IBM, Sun, Hewlett-Packard และ Nvidia
การทดสอบงานในทันทีสำหรับนักพัฒนาซอฟต์แวร์คือการพยายามแปลงโค้ดเดิมที่มีอยู่ให้เป็นแบบขนานสำหรับการทำงานบนชิพสมัยใหม่ Berkeley's Patterson กล่าว. แต่การเขียนใหม่และการรวบรวมรหัสเดิมที่เขียนไว้สำหรับการดำเนินการตามลำดับอาจเป็นความท้าทายที่ยิ่งใหญ่
"มีเงินที่จะต้องทำในพื้นที่เหล่านั้น" Patterson กล่าวว่า