Tags:
Node Thumbnail

ทีมนักวิจัยของ Universal Parallel Computing Research Center (UPCRC)มหาวิทยาลัยอิลลินอยส์ เออร์แบนา-แชมเปญจน์ (University of Illinois at Urbana-Champaign) ภายใต้การสนับสนุนเงินทุนจากมูลนิธิวิทยาศาสตร์แห่งชาติสหรัฐอเมริกา (National Science Foundation) อินเทล และไมโครซอฟท์ ได้พัฒนา Deterministic Parallel Java (DPJ) หรือภาษาจาวาสำหรับการเขียนโปรแกรมเชิงวัตถุเพื่อการประมวลผลแบบขนาน ที่รับรองโดยค่าปริยาย (default) ว่าผลลัพธ์การประมวลผลข้อมูลนำเข้า (input) เดียวกันจะเหมือนกันทุกครั้งโดยไม่ต้องอาศัยการตรวจสอบขณะโปรแกรมทำงาน (run-time)

ภาษา DPJ นี้เป็นภาษาแรกที่ใช้การตรวจสอบขณะคอมไพล์สำหรับการประมวลผลแบบขนานกับพอยต์เตอร์ที่ชี้ไปยังออปเจ็ค ซึ่งแตกต่างจากโมเดลการโปรแกรมแบบใช้งานหน่วยความจำร่วมกัน (shared-memory programming model) (อาทิ เธรดและ lock) ในปัจจุบันที่ไม่สามารถคาดเดาผลลัพธ์การประมวลผลได้และไม่สามารถตรวจจับ data races ได้อีกด้วย นอกจากนั้นยังเป็นภาษาแรกที่ใช้ regions และ effects สำหรับโครงสร้างแบบยืดหยุ่นและเป็นเชิงซ้อน (flexible, nested data structure)

ศาสตรจารย์ Vikram Adve และนักศึกษาปริญญาเอก Robert Bocchino ได้กล่าวไว้ว่าวัตถุประสงค์ของการพัฒนานี้ก็เพื่อช่วยให้การพัฒนาโปรแกรมที่ใช้ประโยชน์จากการประมวลผลแบบขนานง่ายขึ้น ซึ่งผลจากการพัฒนาภาษานี้ทำให้นักพัฒนาพอร์ตบางส่วนของโค้ดภาษาจาวาไปประมวลผลบนระบบมัลติคอร์ และช่วยให้นักพัฒนาสามารถดีบัก (debugging) ทดสอบ และดูแลรักษาโปรแกรมได้ง่ายยิ่งขึ้น

ใครสนใจลองเข้าไปอ่านรายละเอียดงานวิจัยเพิ่มเติม รวมถึงดาวน์โหลดคอมไพเลอร์ซึ่งพัฒนาต่อยอดมาจากจาวาคอมไพเลอร์ (javac) และอยู่ภายใต้ GNU GPLv2 ได้ที่เว็บไซต์ของงานวิจัยครับ

ที่มา: eWeek

หมายเหตุ: อ้างอิงชื่อภาษาไทยของมหาวิทยาลัยจากวิกิพีเดีย

Get latest news from Blognone

Comments

By: joomla
iPhoneUbuntu
on 23 October 2010 - 17:55 #223996
joomla's picture

น่าจะเร็วขึ้นกว่าเดิมเยอะ แล้วมันจะนำไปใช้ได้เหมือนเดิมไหม

By: mr_tawan
ContributoriPhoneAndroidWindows
on 23 October 2010 - 18:28 #223999
mr_tawan's picture

สปอนเซอร์เป็น MS (ร่วมกับองค์กรณ์อื่น) แต่ไหงดันทำภาษา Java :-)


  • 9tawan.net บล็อกส่วนตัวฮับ
By: Thaina
Windows
on 24 October 2010 - 01:38 #224093 Reply to:223999

จงใจท้ามั้งครับ
เพราะ MS ก็เคยทำ J++ แล้วโดนฟ้อง
มาดูกันว่าจะมีใครฟ้องอีกรึเปล่า เพราะนี่ต้องไม่เข้ากับ JVM มาตรฐานแหงๆ

ส่วนตัวแล้วเชื่อว่า เพราะ Java มันทำงานบนแพลทฟอร์มอื่นง่ายๆ
ส่วน MS มีทั้ง J# และ J2C# แปลโค้ดจาว่าเป็น C# ได้บรรทัดต่อบรรทัด
และถ้าจะเอาระบบนี้มาพัฒนาเป็น C# มันก็กลายเป็นเทคโนโลยีเอกเทศด้วยสิ

ที่ผมสงสัยกว่าคือทำไมออราเคิลไม่มาเป็นสปอนเซอร์

By: redeian on 25 October 2010 - 23:55 #224739 Reply to:223999

ผมว่าถ้ามันทำเสร็จก็จะได้เอาไอเดียไปใช้กับตัวเองได้ :P แต่ถ้าเกิดไม่สำเสร็จ ms ก็ไม่มีอะไรเสียหาย
สำหรับเจ้าของงานวิจัยแล้ว ภาษาเปิดโค้ดก็น่าจะทำง่ายกว่าภาษาปิดมั้ง ไม่ต้องมานั่งเริ่มใหม่หมด

By: pitsanu
Contributor
on 23 October 2010 - 18:57 #224005

โครงสร้างแบบเชิงซ้อนและยืนหยุ่น (flexible, nested data structure)

"ยืนหยุ่น" --> "ยืดหยุ่น"

ควรแปลเรียงตามลำดับข้อความในวงเล็บครับ ๑,๒ (1,2)

By: nuntawat
WriterAndroidWindowsIn Love
on 23 October 2010 - 23:33 #224042 Reply to:224005
nuntawat's picture

แก้แล้วครับ

By: onimaru
SymbianWindows
on 23 October 2010 - 21:41 #224019

นั่นซิ โครงการพัฒนาภาษาจาวาแต่ไมโครซอฟเป็นผู้สนับสนุนฟังดูแปลก ๆ ถ้าเป็น กูเกิล ก็ว่าไปอย่าง

By: wiennat
Writer
on 23 October 2010 - 23:34 #224044

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

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


onedd.net

By: nuntawat
WriterAndroidWindowsIn Love
on 23 October 2010 - 23:41 #224047 Reply to:224044
nuntawat's picture

ได้ทั่วไป มาจาก for general-purpose ในต้นฉบับครับ ... แต่ผมลืมไปว่าภาษาไทยมันดูแปลกๆ ไม่พูดคำนี้ก็น่าจะเป็ฯที่เข้าใจกันอยู่แล้ว เลยขอตัดออกดีกว่าครับ :)

By: narok119
ContributoriPhone
on 24 October 2010 - 00:10 #224057

ชื่อ tag ผิดนะครับ
ต้องเป็น UIUC

By: nuntawat
WriterAndroidWindowsIn Love
on 24 October 2010 - 00:15 #224061 Reply to:224057
nuntawat's picture

แก้ไปแก้มาเผลอไปแก้แท็กด้วย 55+

By: uplink
iPhoneAndroid
on 24 October 2010 - 04:33 #224136
uplink's picture

ขอบคุณครับสำหรับข่าว ^^