"លទ្ធផលជាក់ស្តែងគឺសម្រាប់ការបោះពុម្ពផ្សាយតែប៉ុណ្ណោះ ហេតុផលពិតប្រាកដនៃការងារគឺសោភ័ណភាព"។ បទសម្ភាសន៍ដ៏អស្ចារ្យជាមួយ Michael Scott

"លទ្ធផលជាក់ស្តែងគឺសម្រាប់ការបោះពុម្ពផ្សាយតែប៉ុណ្ណោះ ហេតុផលពិតប្រាកដនៃការងារគឺសោភ័ណភាព"។ បទសម្ភាសន៍ដ៏អស្ចារ្យជាមួយ Michael Scott លោក Michael Scott - សម្រាប់រយៈពេល 34 ឆ្នាំ។ ជាសាស្រ្តាចារ្យផ្នែកវិទ្យាសាស្ត្រកុំព្យូទ័រនៅសាកលវិទ្យាល័យ Rochester ហើយនៅឯផ្ទះរបស់គាត់នៅសាកលវិទ្យាល័យ Wisconsin-Madison គាត់គឺជាព្រឹទ្ធបុរសអស់រយៈពេលប្រាំឆ្នាំ។ គាត់ស្រាវជ្រាវ និងបង្រៀនសិស្សអំពីកម្មវិធីប៉ារ៉ាឡែល និងចែកចាយ និងការរចនាភាសា។

ពិភពលោកស្គាល់ Michael ពីសៀវភៅសិក្សា "ភាសាសរសេរកម្មវិធី", ចុះការងារវិញ? "ក្បួនដោះស្រាយសម្រាប់ការធ្វើសមកាលកម្មដែលអាចធ្វើមាត្រដ្ឋានបាននៅលើឧបករណ៍ដំណើរការពហុមេម៉ូរីដែលបានចែករំលែក" បានទទួលរង្វាន់ Dijkstra ជាក្រុមហ៊ុនដ៏ល្បីល្បាញបំផុតមួយក្នុងវិស័យកុំព្យូទ័រចែកចាយ។ អ្នកក៏អាចស្គាល់គាត់ថាជាអ្នកនិពន្ធនៃក្បួនដោះស្រាយនោះ។ ម៉ៃឃើល-ស្កត.

រួមគ្នាជាមួយ Doug Lee គាត់បានបង្កើតក្បួនដោះស្រាយមិនទប់ស្កាត់ និងជួរធ្វើសមកាលកម្មដែលផ្តល់ថាមពលដល់បណ្ណាល័យ Java ។ ការអនុវត្ត "រចនាសម្ព័ន្ធទិន្នន័យពីរ" នៅក្នុង JavaSE 6 ធ្វើឱ្យប្រសើរឡើងនូវការអនុវត្ត 10 ដង ThreadPoolExecutor.

មាតិកា:

  • អាជីពដំបូងនៅសាកលវិទ្យាល័យ Rochester ។ គម្រោង Charlotte, ភាសា Lynx;
  • IEEE Scalable Coherent Interface, MCS locking;
  • ការរស់រានមានជីវិតនៅក្នុងពិភពលោកដែលមិនធ្លាប់មានការផ្លាស់ប្តូរ;
  • តើសិស្សក្លាយជាមនុស្សល្ងង់មែនទេ? និន្នាការសកល, អន្តរជាតិ;
  • ការងារប្រកបដោយប្រសិទ្ធភាពជាមួយសិស្ស;
  • របៀបបន្តរៀបចំវគ្គសិក្សា និងសៀវភៅថ្មីៗ;
  • ទំនាក់ទំនងរវាងអាជីវកម្ម និងបណ្ឌិត្យសភា;
  • ការអនុវត្តជាក់ស្តែងនៃគំនិត។ MCS, MS, CLH, JSR 166, ធ្វើការជាមួយ Doug Lee និងច្រើនទៀត;
  • អង្គចងចាំប្រតិបត្តិការ;
  • ស្ថាបត្យកម្មថ្មី។ ជ័យជំនះនៃការចងចាំប្រតិបត្តិការគឺនៅជិត;
  • អង្គចងចាំដែលមិនងាយនឹងបង្កជាហេតុ, Optane DIMM, ឧបករណ៍ដែលមានល្បឿនលឿនបំផុត;
  • និន្នាការធំបន្ទាប់។ រចនាសម្ព័ន្ធទិន្នន័យពីរ។ អ៊ីដ្រា។

ការសម្ភាសន៍ធ្វើឡើងដោយ៖

Vitaly Aksenov - បច្ចុប្បន្នជា postdoc នៅ IST Austria និងជាសមាជិកនៃនាយកដ្ឋានបច្ចេកវិទ្យាកុំព្យូទ័រនៅសាកលវិទ្យាល័យ ITMO ។ ធ្វើការស្រាវជ្រាវក្នុងវិស័យទ្រឹស្តី និងការអនុវត្តរចនាសម្ព័ន្ធទិន្នន័យប្រកួតប្រជែង។ មុនពេលធ្វើការនៅ IST គាត់បានទទួលបណ្ឌិតរបស់គាត់ពីសាកលវិទ្យាល័យ Paris Diderot និងសាកលវិទ្យាល័យ ITMO ក្រោមការគ្រប់គ្រងរបស់សាស្រ្តាចារ្យ Peter Kuznetsov ។

Alexey Fedorov គឺជាអ្នកផលិតនៅក្រុមហ៊ុន JUG Ru Group ដែលជាក្រុមហ៊ុនរុស្ស៊ីដែលរៀបចំសន្និសីទសម្រាប់អ្នកអភិវឌ្ឍន៍។ Alexey បានចូលរួមក្នុងការរៀបចំសន្និសីទជាង 50 ហើយប្រវត្តិរូបសង្ខេបរបស់គាត់មានអ្វីគ្រប់យ៉ាងចាប់ពីមុខតំណែងជាវិស្វករអភិវឌ្ឍន៍នៅ Oracle (JCK, Java Platform Group) រហូតដល់មុខតំណែងអ្នកអភិវឌ្ឍន៍នៅ Odnoklassniki ។

Vladimir Sitnikov គឺជាវិស្វករនៅក្រុមហ៊ុន Netcracker ។ អស់រយៈពេលដប់ឆ្នាំហើយដែលគាត់បានធ្វើការលើការអនុវត្ត និងការធ្វើមាត្រដ្ឋាននៃ NetCracker OS ដែលជាកម្មវិធីដែលប្រើដោយប្រតិបត្តិករទូរគមនាគមន៍ដើម្បីធ្វើស្វ័យប្រវត្តិកម្មដំណើរការគ្រប់គ្រងបណ្តាញ និងឧបករណ៍បណ្តាញ។ ចាប់អារម្មណ៍លើបញ្ហាប្រតិបត្តិការ Java និង Oracle Database ។ អ្នកនិពន្ធនៃការកែលម្អការអនុវត្តច្រើនជាងដប់នៅក្នុងកម្មវិធីបញ្ជា PostgreSQL JDBC ផ្លូវការ។

អាជីពដំបូងនៅសាកលវិទ្យាល័យ Rochester ។ គម្រោង Charlotte, ភាសា Lynx ។

Алексей៖ ដើម្បីចាប់ផ្តើម ខ្ញុំចង់ប្រាប់អ្នកថា នៅក្នុងប្រទេសរុស្ស៊ី យើងទាំងអស់គ្នាពិតជាចូលចិត្តវិទ្យាសាស្ត្រកុំព្យូទ័រ វិទ្យាសាស្រ្តទិន្នន័យ និងក្បួនដោះស្រាយ។ វា​ជា​រឿង​អាសអាភាស។ យើងបានអានអ្វីៗទាំងអស់។ សៀវភៅ Cormen, Leiserson និង Rivest. ដូច្នេះ សន្និសីទនាពេលខាងមុខ សាលារៀន និងបទសម្ភាសន៍នេះ គួរតែមានប្រជាប្រិយភាពខ្លាំង។ យើងបានទទួលសំណួរជាច្រើនសម្រាប់ការសម្ភាសន៍នេះពីសិស្ស អ្នកសរសេរកម្មវិធី និងសមាជិកសហគមន៍ ដូច្នេះយើងសូមថ្លែងអំណរគុណយ៉ាងជ្រាលជ្រៅចំពោះឱកាសនេះ។ តើវិទ្យាសាស្ត្រកុំព្យូទ័រទទួលបានសេចក្តីស្រឡាញ់ដូចគ្នានៅសហរដ្ឋអាមេរិកទេ?

ម៉ៃឃើល៖ វិស័យរបស់យើងមានភាពចម្រុះណាស់ វាមានទិសដៅច្រើន ហើយវាប៉ះពាល់ដល់សង្គមក្នុងទម្រង់ផ្សេងៗគ្នាជាច្រើន ដែលវាពិបាកសម្រាប់ខ្ញុំក្នុងការផ្តល់ចម្លើយច្បាស់លាស់ដល់អ្នក។ ប៉ុន្តែការពិតគឺថាវាបាននាំមកនូវការផ្លាស់ប្តូរយ៉ាងខ្លាំងនៅក្នុងអាជីវកម្ម ឧស្សាហកម្ម សិល្បៈ និងសង្គមជាទូទៅក្នុងរយៈពេល 30 ឆ្នាំកន្លងមកនេះ។

វីតាលី៖ ចូរចាប់ផ្តើមជាមួយនឹងអ្វីដែលនៅឆ្ងាយ។ នៅក្នុងសាកលវិទ្យាល័យជាច្រើនមានអ្វីមួយដូចជា ឯកទេស នៅក្នុងតំបន់ជាក់លាក់មួយ។ សម្រាប់សាកលវិទ្យាល័យ Carnegie Mellon នេះគឺជាការគណនាប៉ារ៉ាឡែល សម្រាប់ MIT វាគឺជាការគ្រីបរូបវិទ្យា មនុស្សយន្ត និង multithreading ។ តើមានជំនាញបែបនេះនៅសាកលវិទ្យាល័យ Rochester ដែរឬទេ?

ម៉ៃឃើល៖ និយាយឱ្យត្រង់ទៅ ខ្ញុំចង់និយាយថា CMU និង MIT មានឯកទេសលើគ្រប់វិស័យ។ នាយកដ្ឋានរបស់យើងតែងតែយកចិត្តទុកដាក់បំផុតចំពោះបញ្ញាសិប្បនិម្មិត។ ពាក់កណ្តាលនៃមនុស្សដែលធ្វើការឱ្យពួកយើងបានចូលរួមក្នុង AI ឬអន្តរកម្មរវាងមនុស្សនិងកុំព្យូទ័រ - ការចែករំលែកនេះគឺខ្ពស់ជាងនៅក្នុងនាយកដ្ឋានផ្សេងទៀត ហើយតែងតែមានដូច្នេះ។ ប៉ុន្តែ​ពេល​ខ្ញុំ​រៀន​នៅ​សកលវិទ្យាល័យ ខ្ញុំ​មិន​មាន​មុខ​វិជ្ជា AI ទេ ហើយ​ខ្ញុំ​ក៏​មិន​ដែល​ធ្វើ​ការ​ក្នុង​វិស័យ​នេះ​ដែរ។ ដូច្នេះ​នាយកដ្ឋាន​របស់​ខ្ញុំ​មាន​ជំនាញ​លើ​បញ្ហា​ដែល​ខ្ញុំ​មិន​ពាក់ព័ន្ធ​នឹង​បញ្ហា​នោះ​ទេ។ ការលួងលោមគឺថាបញ្ហាសំខាន់បំផុតទីពីរសម្រាប់នាយកដ្ឋានរបស់យើងគឺកម្មវិធីប៉ារ៉ាឡែលនិងពហុខ្សែ នោះគឺជាជំនាញរបស់ខ្ញុំ។

វីតាលី៖ អ្នកបានចាប់ផ្តើមធ្វើការផ្នែកវិទ្យាសាស្ត្រកុំព្យូទ័រ នៅពេលដែលវិស័យកម្មវិធីពហុខ្សែទើបតែលេចចេញមក។ បញ្ជីនៃការបោះពុម្ភផ្សាយរបស់អ្នកបង្ហាញថាការងារដំបូងរបស់អ្នកបានដោះស្រាយបញ្ហាយ៉ាងទូលំទូលាយ៖ ការគ្រប់គ្រងអង្គចងចាំនៅក្នុងប្រព័ន្ធពហុខ្សែ ប្រព័ន្ធឯកសារចែកចាយ ប្រព័ន្ធប្រតិបត្តិការ។ ហេតុអ្វីបានជាភាពប៉ិនប្រសប់បែបនេះ? តើអ្នកបានព្យាយាមស្វែងរកកន្លែងរបស់អ្នកនៅក្នុងសហគមន៍ស្រាវជ្រាវដែរឬទេ?

ម៉ៃឃើល៖ ក្នុងនាមខ្ញុំជាសិស្ស ខ្ញុំបានចូលរួម គម្រោង Charlotte នៅសាកលវិទ្យាល័យ Wisconsin ជាកន្លែងដែលប្រព័ន្ធប្រតិបត្តិការចែកចាយដំបូងមួយត្រូវបានបង្កើតឡើង។ នៅទីនោះខ្ញុំបានធ្វើការរួមគ្នាជាមួយ Rafael Finkel (Raphael Finkel) និង Marvin Solomon (ម៉ាវីន សាឡូម៉ូន) និក្ខេបបទរបស់ខ្ញុំត្រូវបានឧទ្ទិសដល់ការអភិវឌ្ឍន៍ភាសាសម្រាប់កម្មវិធីប្រព័ន្ធសម្រាប់ប្រព័ន្ធចែកចាយ - ឥឡូវនេះមនុស្សគ្រប់គ្នាបានភ្លេចអំពីវា ហើយអរគុណព្រះ។ ខ្ញុំបានបង្កើតភាសាសរសេរកម្មវិធី Lynx ដែលមានបំណងធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការបង្កើតម៉ាស៊ីនមេសម្រាប់ប្រព័ន្ធប្រតិបត្តិការដែលបានចែកចាយដែលរួមបញ្ចូលគ្នា។ ចាប់តាំងពីពេលនោះមកខ្ញុំបានចូលរួមជាចម្បងនៅក្នុងប្រព័ន្ធប្រតិបត្តិការ ខ្ញុំបានសន្មត់ថាអាជីពរបស់ខ្ញុំនឹងត្រូវបានភ្ជាប់ជាចម្បងជាមួយពួកគេ។ ប៉ុន្តែ Rochester គឺជាសាកលវិទ្យាល័យតូចមួយ ហើយដោយសារតែរឿងនេះ ក្រុមផ្សេងគ្នានៅទីនោះមានទំនាក់ទំនងយ៉ាងជិតស្និទ្ធជាមួយគ្នាទៅវិញទៅមក។ មិនមានមនុស្សរាប់សិបប្រព័ន្ធប្រតិបត្តិការផ្សេងទៀតនៅទីនោះសម្រាប់ខ្ញុំដើម្បីនិយាយជាមួយ ដូច្នេះទំនាក់ទំនងរបស់ខ្ញុំទាំងអស់គឺជាមួយមនុស្សដែលធ្វើការនៅក្នុងតំបន់ផ្សេងគ្នាទាំងស្រុង។ ខ្ញុំ​ពិត​ជា​រីករាយ​ណាស់ ការ​ធ្វើ​ជា​អ្នក​គ្រប់​ជ្រុងជ្រោយ​គឺជា​អត្ថប្រយោជន៍​ដ៏​ធំ​មួយ​សម្រាប់​ខ្ញុំ។ ប្រសិនបើយើងនិយាយជាពិសេសអំពីរចនាសម្ព័ន្ធទិន្នន័យពហុខ្សែ និងក្បួនដោះស្រាយការធ្វើសមកាលកម្ម នោះខ្ញុំបានចាប់ផ្តើមធ្វើការលើពួកវាទាំងស្រុងដោយចៃដន្យ។

IEEE Scalable Coherent Interface, MCS ចាក់សោ។

វីតាលី៖ តើអ្នកអាចប្រាប់ខ្ញុំបន្ថែមអំពីរឿងនេះបានទេ?

ម៉ៃឃើល៖ នេះជារឿងគួរឱ្យអស់សំណើចដែលខ្ញុំមិនដែលធុញទ្រាន់នឹងការប្រាប់អ្នកទាំងអស់គ្នា។ វាបានកើតឡើងនៅក្នុងសន្និសីទមួយ។ ASPLOS នៅបូស្តុន - នេះគឺនៅចុងទសវត្សរ៍ទី 80 ឬដើមទសវត្សរ៍ទី 90 ។ John Mellor-Crummey (John Mellor-Crummey), និស្សិតបញ្ចប់ការសិក្សានៅមហាវិទ្យាល័យរបស់យើង។ ខ្ញុំ​ស្គាល់​គាត់ ប៉ុន្តែ​យើង​មិន​បាន​ធ្វើ​ការ​ស្រាវជ្រាវ​រួម​គ្នា​ពី​មុន​មក​ទេ។ Mary Vernon (ម៉ារី វើនណុន) មកពី Wisconsin បានផ្តល់ការពិភាក្សាអំពីប្រព័ន្ធ multiprocessor ដែលពួកគេកំពុងអភិវឌ្ឍនៅក្នុង Wisconsin: Wisconsin Multicube. Multicube នេះមានយន្តការធ្វើសមកាលកម្មនៅកម្រិត Hardware ដែលហៅថា Q on Sync Bit ហើយក្រោយមកវាត្រូវបានប្តូរឈ្មោះ Q on Lock Bit ព្រោះវាស្តាប់ទៅដូចជា Colby cheese ដែលជាពាក្យបញ្ឆោត។ ប្រសិនបើអ្នកចាប់អារម្មណ៍លើយន្តការ multithreading អ្នកប្រហែលជាដឹងថានៅទីបំផុត Colby បានក្លាយជាម៉ាស៊ីនធ្វើសមកាលកម្មសម្រាប់ស្តង់ដារ IEEE Scalable Coherent Interface ។ នេះគឺជាយន្តការចាក់សោដែលបង្កើតទ្រនិចពីឃ្លាំងសម្ងាត់មួយទៅឃ្លាំងសម្ងាត់មួយទៀតនៅកម្រិតផ្នែករឹង ដូច្នេះអ្នកកាន់សោនីមួយៗដឹងថាវាជាវេនរបស់នរណា។ នៅពេលដែល John និងខ្ញុំបានដឹងរឿងនេះ ពួកយើងមើលមុខគ្នា ហើយនិយាយថា៖ ហេតុអ្វីធ្វើបែបនេះនៅកម្រិត Hardware? មិន​អាច​សម្រេច​បាន​ដូច​គ្នា​ដោយ​ប្រើ​ការ​ប្រៀបធៀប​និង​ស្វប​ឬ? យើង​យក​សៀវភៅ​មួយ​ក្បាល​ដែល​ដេក​ក្នុង​ថ្នាក់​រៀន ហើយ​សរសេរ​អក្សរ​លើ​វា។ ការទប់ស្កាត់ MCSខណៈពេលដែលម៉ារីបន្តរបាយការណ៍របស់នាង។ ក្រោយមក យើងបានអនុវត្តវា ពិសោធន៍ គំនិតនេះបានក្លាយទៅជាជោគជ័យ ហើយយើងបានបោះពុម្ពអត្ថបទ។ នៅពេលនោះ សម្រាប់ខ្ញុំ ប្រធានបទនេះហាក់បីដូចជាគ្រាន់តែជាការរំខានដ៏រីករាយមួយ បន្ទាប់ពីនោះខ្ញុំគ្រោងនឹងត្រលប់ទៅប្រព័ន្ធប្រតិបត្តិការវិញ។ ប៉ុន្តែបន្ទាប់មកបញ្ហាមួយទៀតនៅតាមបណ្តោយបន្ទាត់ដូចគ្នាបានកើតមានឡើង ហើយទីបំផុតការធ្វើសមកាលកម្ម ការបញ្ចូលខ្សែច្រើន និងរចនាសម្ព័ន្ធទិន្នន័យបានក្លាយជាជំនាញពិសេសរបស់ខ្ញុំ។ ដូចដែលអ្នកអាចឃើញទាំងអស់នេះបានកើតឡើងដោយចៃដន្យ។

វីតាលី៖ ខ្ញុំធ្លាប់ស្គាល់ MCS blocking យូរហើយ ប៉ុន្តែរហូតមកដល់ពេលនេះ ខ្ញុំមិនដឹងថាវាជាការងាររបស់អ្នកទេ ហើយក៏មិនយល់ថាវាជាអក្សរកាត់សម្រាប់នាមត្រកូលរបស់អ្នកដែរ។

តើធ្វើដូចម្តេចដើម្បីរស់ក្នុងពិភពលោកដែលផ្លាស់ប្តូរជានិច្ច?

Алексей៖ ខ្ញុំមានសំណួរមួយលើប្រធានបទដែលពាក់ព័ន្ធ។ កាលពី 30 ឬ 40 ឆ្នាំមុន មានសេរីភាពកាន់តែច្រើនក្នុងជំនាញផ្សេងៗគ្នា។ ប្រសិនបើអ្នកចង់ចាប់ផ្តើមអាជីពនៅក្នុងប្រព័ន្ធ multithreading ឬចែកចាយ, អ្នកត្រូវបានស្វាគមន៍, ប្រសិនបើអ្នកចង់ចូលទៅក្នុងប្រព័ន្ធប្រតិបត្តិការ, គ្មានបញ្ហា។ នៅក្នុងតំបន់នីមួយៗមានសំណួរបើកចំហជាច្រើន និងមានអ្នកជំនាញតិចតួច។ ឯកទេសតូចចង្អៀតឥឡូវនេះបានលេចចេញជារូបរាង៖ ជាទូទៅមិនមានអ្នកជំនាញលើប្រព័ន្ធប្រតិបត្តិការទេ ជាទូទៅមានអ្នកឯកទេសលើប្រព័ន្ធបុគ្គល។ វាដូចគ្នាជាមួយនឹងប្រព័ន្ធ multithreading និងចែកចាយ។ ប៉ុន្តែបញ្ហានោះគឺថា ជីវិតរបស់យើងមិនមិនចេះចប់ទេ មនុស្សគ្រប់រូបអាចចំណាយពេលត្រឹមតែពីរបីទសវត្សរ៍ប៉ុណ្ណោះដើម្បីស្រាវជ្រាវ។ តើធ្វើដូចម្តេចដើម្បីរស់ក្នុងពិភពលោកថ្មីនេះ?

ម៉ៃឃើល៖ យើងមិនពិសេសក្នុងរឿងនេះទេ រឿងដដែលនេះបានកើតឡើងម្តងនៅក្នុងតំបន់ផ្សេងទៀត។ ខ្ញុំមានសំណាងដែលខ្ញុំចាប់ផ្តើមធ្វើការផ្នែកវិទ្យាសាស្ត្រកុំព្យូទ័រនៅពេលដែលវិស័យនេះស្ថិតក្នុង "វ័យជំទង់" ។ មូលដ្ឋានគ្រឹះខ្លះត្រូវបានដាក់រួចហើយ ប៉ុន្តែអ្វីៗនៅតែមិនទាន់ដំណើរការនៅឡើយ។ ឱកាសនេះមិនមកញឹកញាប់ទេ។ វិស្វកម្ម​អគ្គិសនី​មាន​យូរ​ណាស់​មក​ហើយ រូបវិទ្យា​ក៏​យូរ​ជាង​នេះ គណិតវិទ្យា​ស្ទើរ​តែ​តាំង​ពី​ដើម​មក។ ប៉ុន្តែនេះមិនមានន័យថាគ្មាននរណាម្នាក់បង្កើតការរកឃើញគួរឱ្យចាប់អារម្មណ៍នៅក្នុងគណិតវិទ្យាទៀតទេ។ នៅតែមានបញ្ហាបើកចំហជាច្រើន ប៉ុន្តែក្នុងពេលជាមួយគ្នានេះ ចាំបាច់ត្រូវសិក្សាបន្ថែមទៀត។ អ្នកពិតជាត្រូវកត់សម្គាល់ថាឥឡូវនេះមានជំនាញពិសេសជាច្រើនទៀតជាងកាលពីមុន ប៉ុន្តែនេះគ្រាន់តែមានន័យថាយើងឃើញខ្លួនយើងនៅក្នុងស្ថានភាពដូចគ្នាទៅនឹងផ្នែកផ្សេងទៀតភាគច្រើននៃសកម្មភាពរបស់មនុស្ស។

Алексей៖ ខ្ញុំចាប់អារម្មណ៍លើទិដ្ឋភាពជាក់ស្តែងនៃបញ្ហានៅទីនេះ។ ខ្ញុំមានប្រវត្តិគណិតវិទ្យា ហើយក្នុងអំឡុងពេលសិក្សារបស់ខ្ញុំ ខ្ញុំបានចូលរួមសន្និសីទ និងធ្វើការលើប្រធានបទវិទ្យាសាស្ត្រផ្សេងៗ។ ខ្ញុំបានរកឃើញថាគ្មាននរណាម្នាក់នៅក្នុងទស្សនិកជនយល់ពីរបាយការណ៍របស់ខ្ញុំទេ ហើយតាមរបៀបដូចគ្នា របាយការណ៍របស់មនុស្សផ្សេងទៀតអាចយល់បានតែចំពោះខ្លួនគេប៉ុណ្ណោះ។ នេះមិនមែនជាករណីនៅក្នុងប្រធានបទកម្រិតខ្ពស់នោះទេ ប៉ុន្តែនៅពេលដែលអ្នកចាប់ផ្តើមស្វែងយល់អំពីអ្វីមួយ ទស្សនិកជនមិនអាចតាមទាន់អ្នកបានទៀតទេ។ តើអ្នកដោះស្រាយដោយរបៀបណា?

ម៉ៃឃើល៖ មិនតែងតែជោគជ័យទេ។ ថ្មីៗ​នេះ ខ្ញុំ​បាន​រៀបចំ​របាយការណ៍​មួយ​ដែល​ខ្ញុំ​ចូល​ជ្រៅ​ពេក​ក្នុង​ព័ត៌មាន​លម្អិត​បច្ចេកទេស។ នៅពេលដែលការពិភាក្សាបានដំណើរការ វាកាន់តែច្បាស់ថាទស្សនិកជនភាគច្រើនមិនយល់ពីខ្ញុំ ដូច្នេះខ្ញុំត្រូវតែសម្របខ្លួនទៅនឹងស្ថានភាពភ្លាមៗ។ ស្លាយ​មិន​អាច​ត្រូវ​បាន​ផ្លាស់​ប្តូរ​ទេ ដូច្នេះ​វា​មិន​បាន​ប្រែ​ប្រួល​ខ្លាំង​ទេ - ដូច្នេះ ជាទូទៅ ខ្ញុំ​ព្យាយាម​មិន​ប្រើ​ស្លាយ។ សរុបមក ដំបូន្មានរបស់ខ្ញុំគឺពិចារណាទស្សនិកជនរបស់អ្នក។ អ្នក​ត្រូវ​ដឹង​ថា​អ្នក​កំពុង​និយាយ​ជាមួយ​នរណា​កម្រិត​ណា​នៃ​ចំណេះដឹង​របស់​ពួកគេ និង​អ្វី​ដែល​ពួកគេ​ត្រូវ​ស្តាប់​ដើម្បី​ឱ្យ​តម្លៃ​ការងារ​របស់អ្នក។

វីតាលី៖ តើ​លោក​អាច​ប្រាប់​យើង​អំពី​អ្វី​ដែល​ជា​ការ​បង្រៀន​នេះ​បាន​ទេ?

ម៉ៃឃើល៖ និយាយឱ្យត្រង់ទៅ ខ្ញុំមិនចង់ពង្រីកលើប្រធានបទនេះ ដើម្បីទុកអោយមនុស្សដែលមានចម្ងល់ជាអនាមិក។ ចំណុចនោះគឺថា ជាញឹកញាប់យើងយល់ជ្រៅពេកទៅក្នុងភាពស្មុគ្រស្មាញនៃបញ្ហាដែលយើងកំពុងធ្វើការ ដូច្នេះវាពិបាកសម្រាប់យើងក្នុងការពន្យល់នៅដើមដំបូងនៃសុន្ទរកថាថាហេតុអ្វីបានជាបញ្ហាគួរឱ្យចាប់អារម្មណ៍ និងសំខាន់ និងរបៀបដែលវាទាក់ទងនឹងបញ្ហាដែល ទស្សនិកជនបានដឹងរួចហើយ។ តាម​ការ​សង្កេត​របស់​ខ្ញុំ សិស្ស​មាន​ពេល​វេលា​លំបាក​បំផុត​ក្នុង​ការ​រៀន​ជំនាញ​នេះ។ ហើយនេះក៏ជាចំណុចខ្សោយនៃរបាយការណ៍ថ្មីៗរបស់ខ្ញុំផងដែរ។ របាយការណ៍ដែលមានរចនាសម្ព័ន្ធត្រឹមត្រូវគួរតែស្វែងរកទំនាក់ទំនងជាមួយទស្សនិកជន តាំងពីដំបូងមក ពន្យល់ពួកគេអំពីបញ្ហាពិតប្រាកដ និងរបៀបដែលវាទាក់ទងនឹងប្រធានបទដែលគេស្គាល់រួចហើយ។ តើការណែនាំនេះមានលក្ខណៈបច្ចេកទេសយ៉ាងណា អាស្រ័យលើទស្សនិកជន។ ប្រសិនបើវាមានលក្ខណៈស្រពិចស្រពិល នោះរបាយការណ៍អាចជាពហុដំណាក់កាល។ ការណែនាំគួរតែអាចចូលប្រើបានសម្រាប់មនុស្សគ្រប់គ្នា ហើយនៅទីបញ្ចប់ បំណែកនេះប្រហែលជាមិនអាចតាមទាន់អ្នកបានទេ ប៉ុន្តែមនុស្សដែលស្គាល់ពីវិស័យរបស់អ្នកនឹងអាចយល់បាន។

តើសិស្សក្លាយជាមនុស្សល្ងង់មែនទេ? និន្នាការសកលភាវូបនីយកម្ម។

Алексей៖ អ្នកបានសង្កេតមើលសិស្សជាច្រើនទសវត្សរ៍មកហើយ។ តើ​សិស្ស​មាន​ភាព​ល្ងង់ខ្លៅ ឬ​ឆ្លាត​ជាង​ពី​មួយ​ទសវត្សរ៍​ទៅ​មួយ​ទសវត្សរ៍ ឬ​ពី​មួយ​ឆ្នាំ​ទៅ​មួយ​ឆ្នាំ? នៅប្រទេសរុស្ស៊ី សាស្រ្តាចារ្យតែងតែត្អូញត្អែរថា សិស្សានុសិស្សមានការងឿងឆ្ងល់ជារៀងរាល់ឆ្នាំ ហើយវាពិតជាមិនច្បាស់ថាត្រូវធ្វើយ៉ាងណាចំពោះវា។

ម៉ៃឃើល៖ អ្នក​ពិតជា​អាច​ឮ​ពាក្យ​អវិជ្ជមាន​ជាច្រើន​ពី​មនុស្ស​ចាស់​យើង​។ ដោយមិនដឹងខ្លួន យើងមានទំនោរក្នុងការរំពឹងថា សិស្សនឹងស្រូបយកបទពិសោធន៍ 30 ឆ្នាំទាំងអស់ដែលយើងមានរួចហើយ។ បើ​ខ្ញុំ​យល់​កាន់តែ​ស៊ីជម្រៅ​ជាង​ឆ្នាំ​១៩៨៥ ហេតុអ្វី​សិស្ស​អត់​មាន​? ប្រហែល​ជា​ពួក​គេ​មាន​អាយុ​២០​ឆ្នាំ​តើ​អ្នក​គិត​យ៉ាង​ណា? ខ្ញុំគិតថាការផ្លាស់ប្តូរដ៏សំខាន់បំផុតក្នុងប៉ុន្មានទសវត្សរ៍ថ្មីៗនេះគឺនៅក្នុងសមាសភាពប្រជាសាស្រ្ត៖ ឥឡូវនេះយើងមាននិស្សិតអន្តរជាតិកាន់តែច្រើន លើកលែងតែជនជាតិកាណាដា។ ធ្លាប់មានជនជាតិកាណាដាច្រើនណាស់ ដោយសារយើងនៅជិតព្រំដែនប្រទេសកាណាដា ហើយសិស្សពីទីនោះអាចធ្វើដំណើរទៅផ្ទះនៅថ្ងៃចុងសប្តាហ៍។ ប៉ុន្តែឥឡូវនេះមានសាកលវិទ្យាល័យល្អ ៗ ជាច្រើននៅក្នុងប្រទេសកាណាដា ហើយប្រជាជនកាណាដាចូលចិត្តសិក្សានៅទីនេះ ពួកគេមានចំនួនតិចណាស់ដែលមកសហរដ្ឋអាមេរិក។

Алексей៖ តើអ្នកគិតថានេះជានិន្នាការក្នុងស្រុក ឬជាសកល?

ម៉ៃឃើល៖ ខ្ញុំ​មិន​ចាំ​ច្បាស់​ថា​អ្នក​ណា​ទេ ប៉ុន្តែ​មាន​គេ​និយាយ​ថា​ពិភពលោក​គឺ​សំប៉ែត។ វិស័យរបស់យើងបានក្លាយជាអន្តរជាតិកាន់តែច្រើន។ សន្និសីទ ACM កាលពីមុន ពួកគេត្រូវបានប្រារព្ធឡើងផ្តាច់មុខនៅក្នុងសហរដ្ឋអាមេរិក បន្ទាប់មកពួកគេបានសម្រេចចិត្តប្រារព្ធវាម្តងរៀងរាល់ 4 ឆ្នាំម្តងនៅក្នុងប្រទេសផ្សេងទៀត ហើយឥឡូវនេះពួកគេត្រូវបានប្រារព្ធឡើងទូទាំងពិភពលោក។ ការផ្លាស់ប្តូរទាំងនេះប៉ះពាល់កាន់តែខ្លាំង IEEEដូចដែលវាតែងតែជាអង្គការអន្តរជាតិច្រើនជាង ACM ។ ហើយ​មាន​ប្រធាន​កម្មវិធី​មក​ពី​ប្រទេស​ចិន ឥណ្ឌា រុស្សី អាល្លឺម៉ង់ និង​ប្រទេស​ជា​ច្រើន​ទៀត ព្រោះ​ឥឡូវ​នេះ​មាន​ច្រើន​នៅ​គ្រប់​ទីកន្លែង។

Алексей៖ ប៉ុន្តែ ប្រហែលជាមានចំណុចអវិជ្ជមានមួយចំនួននៃអន្តរភាវូបនីយកម្មបែបនេះ?

ម៉ៃឃើល៖ ខ្ញុំ​ចង់​និយាយ​ថា ទិដ្ឋភាព​អវិជ្ជមាន​ទាំងអស់​មិន​ទាក់ទង​ទៅ​នឹង​បច្ចេកវិទ្យា​ទេ ប៉ុន្តែ​ចំពោះ​នយោបាយ។ មានពេលមួយ បញ្ហាចម្បងគឺការដែលសហរដ្ឋអាមេរិកកំពុងលួចយកមនុស្សឆ្លាតបំផុត និងមានទេពកោសល្យបំផុតពីប្រទេសជុំវិញពិភពលោក។ ហើយឥឡូវនេះបញ្ហាចម្បងគឺល្បែងនយោបាយរវាងប្រទេសផ្សេងៗគ្នាជុំវិញទិដ្ឋាការ និងអន្តោប្រវេសន៍។

Алексей៖ នោះ​គឺ​ជា​ឧបសគ្គ​និង​រឿង​ដូច​នោះ។ វាច្បាស់ណាស់។

Владимир៖ ដោយផ្ទាល់ ខ្ញុំចាប់អារម្មណ៍លើវិធីសាស្រ្តដែលអ្នកអនុវត្តនៅពេលបង្រៀនមុខវិជ្ជាថ្មីដល់សិស្ស។ មានជម្រើសផ្សេងៗគ្នា៖ អ្នកអាចសាកល្បងជាដំបូងដើម្បីជំរុញពួកគេឱ្យសាកល្បងអ្វីដែលថ្មី ឬអ្នកអាចយកចិត្តទុកដាក់បន្ថែមទៀតចំពោះព័ត៌មានលម្អិតអំពីរបៀបដែលបច្ចេកវិទ្យាជាក់លាក់មួយដំណើរការ។ តើអ្នកចូលចិត្តអ្វី?

ការងារប្រកបដោយប្រសិទ្ធភាពជាមួយសិស្ស

Алексей៖ ហើយ​តើ​ធ្វើ​ដូចម្តេច​ដើម្បី​រក​តុល្យភាព​ដ៏​អាក្រក់​រវាង​ទីមួយ និង​ទីពីរ?

ម៉ៃឃើល៖ បញ្ហាគឺថា ថ្នាក់រៀនមិនតែងតែទៅតាមរបៀបដែលខ្ញុំចង់បាន។ ជាធម្មតាខ្ញុំផ្តល់ឱ្យសិស្សនូវសម្ភារៈអានជាមុនដើម្បីឱ្យពួកគេស្វែងយល់ពីវា យល់វាឱ្យអស់ពីសមត្ថភាពរបស់ពួកគេ និងបង្កើតសំណួរអំពីផ្នែកទាំងនោះដែលពួកគេមិនអាចយល់បាន។ បន្ទាប់មកនៅក្នុងថ្នាក់ អ្នកអាចផ្តោតលើគ្រាលំបាកបំផុត ហើយស្វែងយល់ពីវាជាមួយគ្នា។ នេះជារបៀបដែលខ្ញុំចូលចិត្តបង្រៀនថ្នាក់ច្រើនបំផុត។ ប៉ុន្តែដោយសារបន្ទុកដែលឥឡូវនេះស្ថិតនៅលើសិស្ស ខ្ញុំមិនតែងតែអាចប្រាកដថាពួកគេរៀបចំទុកជាមុននោះទេ។ ជាលទ្ធផល អ្នកត្រូវលះបង់ពេលវេលាច្រើន សម្រាប់ការនិយាយឡើងវិញនូវសម្ភារៈទូទៅ ជាងអ្វីដែលអ្នកចង់បាន។ ទោះ​បី​ជា​យ៉ាង​នេះ​ក្ដី ខ្ញុំ​ព្យាយាម​រក្សា​ថ្នាក់​របស់​យើង​ឲ្យ​មាន​អន្តរកម្ម។ បើមិនដូច្នោះទេ វាកាន់តែងាយស្រួលក្នុងការថតវីដេអូ នៅពេលដែលសិស្សអាចមើលនៅផ្ទះបាន។ ចំណុចនៃថ្នាក់បន្តផ្ទាល់គឺអន្តរកម្មរបស់មនុស្ស។ នៅក្នុងថ្នាក់ ខ្ញុំចូលចិត្តប្រើដីស និងក្តារខៀន ជាជាងស្លាយ លើកលែងតែករណីខ្លះ នៅពេលដែលដ្យាក្រាមស្មុគស្មាញពេកក្នុងការពណ៌នានៅលើក្តារ។ អរគុណចំពោះការនេះ ខ្ញុំមិនចាំបាច់ប្រកាន់ខ្ជាប់នូវផែនការមេរៀនតឹងរ៉ឹងនោះទេ។ ដោយសារមិនមានលំដាប់តឹងរ៉ឹងដែលខ្ញុំផ្តល់សម្ភារៈនោះ វាអនុញ្ញាតឱ្យខ្ញុំកែសម្រួលវាទៅទស្សនិកជន អាស្រ័យលើសំណួរដែលខ្ញុំទទួលបាន។ ជាទូទៅ ខ្ញុំព្យាយាមធ្វើឱ្យថ្នាក់មានអន្តរកម្មតាមដែលអាចធ្វើទៅបាន ដូច្នេះសម្ភារៈដែលខ្ញុំបង្ហាញគឺអាស្រ័យលើសំណួរដែលត្រូវបានសួរមកខ្ញុំ។

Владимир: វា​ពិតជា​អស្ចារ្យ​ណាស់។ តាមបទពិសោធន៍របស់ខ្ញុំ វាពិតជាលំបាកណាស់ក្នុងការធ្វើឱ្យអ្នកស្តាប់សួរសំណួរ។ ទោះ​សួរ​មុន​សួរ​មិន​ថា​ល្ងង់​ឬ​ឆ្លាត​ប៉ុណ្ណា​ក៏​គេ​នៅ​ស្ងៀម។ តើអ្នកដោះស្រាយដោយរបៀបណា?

ម៉ៃឃើល៖ អ្នក​នឹង​សើច ប៉ុន្តែ​ប្រសិន​បើ​អ្នក​ឈរ​ស្ងៀម​យូរ​មិន​យូរ​មិន​ឆាប់ អ្នក​រាល់​គ្នា​នឹង​មិន​ស្រួល ហើយ​មាន​នរណា​ម្នាក់​សួរ​សំណួរ។ ឬអ្នកអាចសួរសំណួរបច្ចេកទេសសាមញ្ញជាមួយនឹងចម្លើយបាទ ឬទេ ដើម្បីកំណត់ថាតើមនុស្សយល់ពីអ្វីដែលទើបតែបាននិយាយ។ ឧទាហរណ៍ តើមានការប្រណាំងទិន្នន័យក្នុងឧទាហរណ៍ខាងលើទេ? តើអ្នកណាគិតដូច្នេះ? អ្នកណាគិតអត់? អ្នកណាមិនយល់អ្វីទាំងអស់ ព្រោះសរុបទៅមានតែពាក់កណ្តាលដៃប៉ុណ្ណោះ?

វីតាលី: ហើយប្រសិនបើអ្នកឆ្លើយខុស អ្នកនឹងត្រូវបណ្តេញចេញពីថ្នាក់ :)

ម៉ៃឃើល៖ ប្រសិនបើអ្នកមិនទាន់បានឆ្លើយអ្វីទេ អ្នកគួរតែសួរសំណួរមួយ។ ខ្ញុំ​ត្រូវ​យល់​ពី​អ្វី​ដែល​សិស្ស​ត្រូវ​ដឹង ដើម្បី​ឆ្លើយ​សំណួរ​ដែល​ខ្ញុំ​ទើប​តែ​សួរ។ ខ្ញុំ​ត្រូវ​ការ​ពួក​គេ​ឱ្យ​ជួយ​ខ្ញុំ​ជួយ​ពួក​គេ។ ខ្ញុំ​ត្រៀម​ខ្លួន​ជា​ស្រេច​ដើម្បី​សម្រប​ខ្លួន​ពួកគេ​ដើម្បី​ឱ្យ​ពួកគេ​យល់​ពី​បញ្ហា។ តែ​បើ​ខ្ញុំ​មិន​ដឹង​ថា​មាន​រឿង​អ្វី​នៅ​ក្នុង​ក្បាល​គេ​ទេ ខ្ញុំ​មិន​អាច​ធ្វើ​វា​បាន​ទេ។ ហើយ​ប្រសិន​បើ​អ្នក​មិន​ផ្តល់​សន្តិភាព​ដល់​សិស្ស​ក្នុង​រយៈ​ពេល​យូរ​គ្រប់គ្រាន់ ជួនកាល​នៅ​ទី​បញ្ចប់​ពួកគេ​សួរ​សំណួរ​ដែល​ត្រឹមត្រូវ នោះ​គឺ​ជា​សំណួរ​ដែល​អនុញ្ញាត​ឱ្យ​ខ្ញុំ​មើល​ឃើញ​នូវ​អ្វី​ដែល​កំពុង​កើត​ឡើង​ក្នុង​ក្បាល​សិស្ស។ 

Алексей៖ តើពេលខ្លះសំណួរទាំងនេះនាំទៅរកគំនិតដែលអ្នកខ្លួនឯងមិនបានគិតពីមុនមកទេ? តើពួកគេនឹកស្មានមិនដល់មែនទេ? តើពួកគេអនុញ្ញាតឱ្យអ្នកមើលបញ្ហានៅក្នុងពន្លឺថ្មីទេ?

ម៉ៃឃើល៖ មានសំណួរដែលបើករបៀបថ្មីនៃការបង្ហាញសម្ភារៈ។ ជារឿយៗមានសំណួរដែលនាំទៅដល់បញ្ហាគួរឱ្យចាប់អារម្មណ៍ ដែលខ្ញុំមិនមានគម្រោងនិយាយ។ សិស្សតែងតែប្រាប់ខ្ញុំថា ខ្ញុំមានទំនោរចង់បិទប្រធានបទនៅពេលរឿងនេះកើតឡើង។ ហើយយោងទៅតាមពួកគេជាញឹកញាប់នេះគឺជាផ្នែកគួរឱ្យចាប់អារម្មណ៍បំផុតនៃមេរៀន។ កម្រមានណាស់ សិស្សបានសួរសំណួរដែលជំរុញឱ្យមានទិសដៅថ្មីក្នុងការស្រាវជ្រាវ ហើយរីកចម្រើនទៅជាអត្ថបទមួយ។ រឿងនេះកើតឡើងញឹកញាប់ជាងនៅក្នុងការសន្ទនាជាមួយសិស្សជាជាងអំឡុងពេលថ្នាក់ ប៉ុន្តែម្តងម្កាលវាបានកើតឡើងក្នុងអំឡុងពេលថ្នាក់។ 

Алексей៖ ដូច្នេះ សិស្ស​បាន​សួរ​អ្នក​នូវ​សំណួរ​ដោយ​ផ្អែក​លើ​មូលដ្ឋាន​ដែល​វា​អាច​បោះពុម្ព​អត្ថបទ​មួយ?

ម៉ៃឃើល៖ បាទ។ 

វីតាលី៖ តើអ្នកមានការសន្ទនាទាំងនេះញឹកញាប់ប៉ុណ្ណាជាមួយសិស្ស? តើ​ពេលណា​ពួកគេ​ចង់​រៀន​ច្រើនជាង​អ្វីដែល​បាន​គ្របដណ្តប់​ក្នុង​មេរៀន​?

ម៉ៃឃើល៖ ជាមួយនិស្សិតបញ្ចប់ការសិក្សារបស់ខ្ញុំ - គ្រប់ពេលវេលា។ ខ្ញុំមានប្រហែល 5 ឬ 6 ក្នុងចំណោមពួកគេ ហើយយើងពិភាក្សាអ្វីមួយជាមួយពួកគេគ្រប់ពេល។ ហើយ​ការសន្ទនា​បែប​នេះ​ជាមួយ​សិស្ស​ដែល​គ្រាន់តែ​ចូលរៀន​ថ្នាក់​របស់ខ្ញុំ​គឺ​មិន​ធម្មតា​ទេ​។ ទោះបីជាខ្ញុំចង់ឱ្យរឿងនេះកើតឡើងញឹកញាប់ជាង។ ខ្ញុំ​សង្ស័យ​ថា​ពួកគេ​ខ្លាច​មក​មហាវិទ្យាល័យ​ក្នុង​ម៉ោង​ធ្វើការ។ ជារៀងរាល់ឆមាស សិស្សខ្លះអាចយកឈ្នះលើឧបសគ្គផ្លូវចិត្តនេះ ហើយវាតែងតែគួរឱ្យចាប់អារម្មណ៍ខ្លាំងណាស់ក្នុងការនិយាយជាមួយពួកគេបន្ទាប់ពីថ្នាក់រៀន។ ពិតមែនហើយ ប្រសិនបើសិស្សទាំងអស់មានភាពក្លាហាន នោះខ្ញុំគ្រាន់តែមិនមានពេលគ្រប់គ្រាន់នោះទេ។ ដូច្នេះប្រហែលជាអ្វីៗដំណើរការដូចដែលវាគួរតែ។ 

វីតាលី៖ តើ​អ្នក​អាច​រក​ពេល​វេលា​ទំនាក់​ទំនង​ជាមួយ​សិស្ស​ដោយ​របៀប​ណា? តាមដែលខ្ញុំដឹង គ្រូបង្រៀននៅសហរដ្ឋអាមេរិកមានការងារច្រើន - ការដាក់ពាក្យសុំជំនួយ និងផ្សេងៗទៀត។ 

ម៉ៃឃើល៖ និយាយដោយស្មោះត្រង់ ការធ្វើការជាមួយសិស្សគឺជាទិដ្ឋភាពនៃការងាររបស់ខ្ញុំដែលខ្ញុំចូលចិត្តបំផុត។ ដូច្នេះ​ខ្ញុំ​មាន​កម្លាំង​ចិត្ត​គ្រប់គ្រាន់​សម្រាប់​រឿង​នេះ។ ភាគច្រើននៃពេលវេលាដែលខ្ញុំចំណាយនៅក្នុងការិយាល័យរបស់ខ្ញុំគឺត្រូវចំណាយលើការប្រជុំគ្រប់ប្រភេទ។ ឥឡូវនេះជារដូវក្តៅ ដូច្នេះកាលវិភាគរបស់ខ្ញុំមិនសូវរវល់ទេ ប៉ុន្តែក្នុងកំឡុងឆ្នាំសិក្សា ជារៀងរាល់ថ្ងៃចាប់ពីម៉ោង 9 ដល់ 17 ខ្ញុំមានអ្វីៗគ្រប់យ៉ាង។ ការងារស្រាវជ្រាវ ការពិនិត្យឡើងវិញ ការផ្តល់ជំនួយ - សម្រាប់ទាំងអស់នេះមានតែពេលល្ងាច និងចុងសប្តាហ៍ប៉ុណ្ណោះ។ 

តើធ្វើដូចម្តេចដើម្បីបន្តជាមួយនឹងការរៀបចំវគ្គសិក្សាថ្មីនិងសៀវភៅ។

Алексей៖ តើ​អ្នក​កំពុង​បន្ត​បង្រៀន​មុខវិជ្ជា​ណា​ដែល​អ្នក​បាន​បង្រៀន​យូរ​មក​ហើយ​ឬ​នៅ? អ្វីមួយដូចជាការណែនាំអំពីវិទ្យាសាស្ត្រកុំព្យូទ័រ។

ម៉ៃឃើល៖ រឿងដំបូងដែលនឹកឃើញនៅទីនេះគឺវគ្គសិក្សាភាសាសរសេរកម្មវិធី។ 

Алексей៖ តើ​ជំនាន់​នៃ​វគ្គ​សិក្សា​នេះ​ខុស​គ្នា​យ៉ាង​ណា​ខ្លះ​ពី​កាល​ពី ១០, ២០, ៣០ ឆ្នាំ​មុន? ប្រហែលជាអ្វីដែលគួរឱ្យចាប់អារម្មណ៍ជាងនេះមិនមែនជាព័ត៌មានលម្អិតនៃវគ្គសិក្សាជាក់លាក់មួយនោះទេ ប៉ុន្តែជានិន្នាការទូទៅ។

ម៉ៃឃើល៖ វគ្គ​សិក្សា​របស់​ខ្ញុំ​លើ​ភាសា​សរសេរ​កម្មវិធី​គឺ​មិន​ធម្មតា​នៅ​ពេល​ដែល​ខ្ញុំ​បង្កើត​វា​។ ខ្ញុំ​ចាប់​ផ្ដើម​អាន​វា​នៅ​ចុង​ទសវត្សរ៍​ឆ្នាំ 1980 ដោយ​ជំនួស​មិត្ត​រួម​ការងារ​របស់​ខ្ញុំ Doug Baldwin (លោក Doug Baldwin) ប្រធានបទនៃវគ្គសិក្សាគឺទាក់ទងតែ tangential ទៅនឹងជំនាញរបស់ខ្ញុំ, ប៉ុន្តែនៅពេលដែលគាត់បានចាកចេញ, ខ្ញុំជាបេក្ខជនល្អបំផុតក្នុងការបង្រៀនវគ្គសិក្សានេះ។ ខ្ញុំ​មិន​ចូលចិត្ត​សៀវភៅ​សិក្សា​ណា​ដែល​មាន​នៅ​ពេល​នោះ​ទេ ដូច្នេះ​ខ្ញុំ​បាន​បញ្ចប់​ការ​សរសេរ​សៀវភៅ​សម្រាប់​វគ្គ​សិក្សា​នេះ​ដោយ​ខ្លួន​ឯង។ (កំណត់សម្គាល់របស់អ្នកនិពន្ធ៖ យើងកំពុងនិយាយអំពីសៀវភៅ "ភាសាសរសេរកម្មវិធី") ឥឡូវនេះវាត្រូវបានគេប្រើនៅក្នុងសាកលវិទ្យាល័យជាង 200 ជុំវិញពិភពលោក។ វិធីសាស្រ្តរបស់ខ្ញុំគឺមិនធម្មតាទេ ដែលវាមានចេតនាលាយឡំបញ្ហានៃការរចនា និងការអនុវត្តភាសា ហើយយកចិត្តទុកដាក់យ៉ាងខ្លាំងចំពោះអន្តរកម្មរវាងទិដ្ឋភាពទាំងនេះនៅក្នុងគ្រប់វិស័យដែលអាចធ្វើទៅបាន។ វិធីសាស្រ្តជាមូលដ្ឋាននៅតែមិនផ្លាស់ប្តូរ ដូចដែលមានគោលគំនិតជាមូលដ្ឋានជាច្រើន៖ abstractions, namespaces, modularity, types. ប៉ុន្តែសំណុំនៃភាសាដែលគំនិតទាំងនេះត្រូវបានបង្ហាញបានផ្លាស់ប្តូរទាំងស្រុង។ នៅពេលដែលវគ្គសិក្សាត្រូវបានបង្កើតឡើងដំបូង មានឧទាហរណ៍ជាច្រើននៅក្នុង Pascal ប៉ុន្តែសព្វថ្ងៃនេះ សិស្សរបស់ខ្ញុំជាច្រើននាក់មិនទាន់បានឮភាសានេះទេ។ ប៉ុន្តែពួកគេស្គាល់ Swift, Go, Rust ដូច្នេះខ្ញុំត្រូវនិយាយអំពីភាសាដែលប្រើប្រាស់សព្វថ្ងៃ។ ម្យ៉ាងទៀត សិស្សឥឡូវចេះភាសាស្គ្រីបបានល្អ ប៉ុន្តែនៅពេលខ្ញុំចាប់ផ្តើមបង្រៀនវគ្គនេះ វានិយាយអំពីភាសាចងក្រងទាំងអស់។ ឥឡូវនេះយើងត្រូវការសម្ភារៈជាច្រើនអំពី Python, Ruby និងសូម្បីតែ Perl ពីព្រោះនេះគឺជាអ្វីដែលកូដត្រូវបានសរសេរក្នុងថ្ងៃនេះ ហើយមានរឿងគួរឱ្យចាប់អារម្មណ៍ជាច្រើនដែលកើតឡើងនៅក្នុងភាសាទាំងនេះ រួមទាំងនៅក្នុងផ្នែកនៃការរចនាភាសាផងដែរ។ 

វីតាលី៖ បន្ទាប់មកសំណួរបន្ទាប់របស់ខ្ញុំនឹងទាក់ទងនឹងសំណួរមុន។ តើធ្វើដូចម្តេចដើម្បីរក្សានៅក្នុងតំបន់នេះ? ខ្ញុំសង្ស័យថាការធ្វើបច្ចុប្បន្នភាពវគ្គសិក្សាបែបនេះតម្រូវឱ្យមានការងារច្រើន - អ្នកត្រូវយល់ភាសាថ្មីយល់ពីគំនិតសំខាន់ៗ។ តើអ្នកធ្វើបែបនេះដោយរបៀបណា?

ម៉ៃឃើល៖ ខ្ញុំមិនអាចអួតថាខ្ញុំតែងតែជោគជ័យ 100% នោះទេ។ ប៉ុន្តែភាគច្រើនខ្ញុំគ្រាន់តែធ្វើអ្វីដែលអ្នកផ្សេងទៀតធ្វើ - អានអ៊ីនធឺណិត។ ប្រសិនបើខ្ញុំចង់យល់ Rust ខ្ញុំ Google វា ចូលទៅកាន់ទំព័រ Mozilla ហើយអានសៀវភៅណែនាំដែលបានបង្ហោះនៅទីនោះ។ នេះគឺជាផ្នែកមួយនៃអ្វីដែលកើតឡើងនៅក្នុងការអភិវឌ្ឍន៍ពាណិជ្ជកម្ម។ ប្រសិនបើយើងនិយាយអំពីវិទ្យាសាស្ត្រ នោះអ្នកត្រូវធ្វើតាមរបាយការណ៍នៅឯសន្និសីទសំខាន់ៗ។ 

ទំនាក់ទំនងរវាងអាជីវកម្ម និងបណ្ឌិត្យសភា

វីតាលី៖ ចូរនិយាយអំពីការតភ្ជាប់រវាងអាជីវកម្ម និងការស្រាវជ្រាវវិទ្យាសាស្ត្រ។ នៅក្នុងបញ្ជីការងាររបស់អ្នក ខ្ញុំបានរកឃើញអត្ថបទជាច្រើនស្តីពីការភ្ជាប់ឃ្លាំងសម្ងាត់។ ខ្ញុំយល់ថា ក្បួនដោះស្រាយភាពស៊ីសង្វាក់នៃឃ្លាំងសម្ងាត់មិនស្ថិតស្ថេរនៅពេលពួកគេត្រូវបានបោះពុម្ព? ឬមិនរីករាលដាលគ្រប់គ្រាន់។ តើ​គំនិត​របស់​អ្នក​មាន​លក្ខណៈ​សាមញ្ញ​ប៉ុណ្ណា​ក្នុង​ការ​អនុវត្ត?

ម៉ៃឃើល៖ ខ្ញុំ​មិន​ប្រាកដ​ថា​ការ​បោះពុម្ព​ផ្សាយ​ណា​ដែល​អ្នក​កំពុង​និយាយ។ ខ្ញុំបានធ្វើការងារតិចតួចជាមួយសិស្សរបស់ខ្ញុំ Bill Bolosky (លោក William Bolosky) និង Leonidas Kontotanassis (Leonidas Kontothanassis) នៅដើមទសវត្សរ៍ឆ្នាំ 1990 លើការគ្រប់គ្រងអង្គចងចាំរបស់ម៉ាស៊ីន Neumann ។ នៅពេលនោះ អាជីវកម្មមិនទាន់មានការយល់ដឹងអំពីរបៀបបង្កើតប្រព័ន្ធពហុដំណើរការឱ្យបានត្រឹមត្រូវទេ៖ តើវាមានតម្លៃបង្កើតការគាំទ្រសម្រាប់ការចូលប្រើអង្គចងចាំពីចម្ងាយនៅកម្រិតផ្នែករឹង តើវាមានតម្លៃធ្វើឱ្យអង្គចងចាំចែកចាយដែរឬទេ តើវាអាចទៅរួចទេក្នុងការផ្ទុកឃ្លាំងសម្ងាត់ពី អង្គចងចាំពីចម្ងាយ ឬចាំបាច់ត្រូវផ្លាស់ទីទំព័រនៅក្នុងបន្ទប់ប្រតិបត្តិការ? Bill និង Leonidas ទាំងពីរនាក់បានធ្វើការនៅក្នុងតំបន់នេះ ហើយបានស្វែងរកវិធីសាស្រ្តដោយគ្មានការផ្ទុកឃ្លាំងសម្ងាត់ពីចម្ងាយ។ នេះមិនទាក់ទងដោយផ្ទាល់ទៅនឹងភាពជាប់គ្នានៃឃ្លាំងសម្ងាត់នោះទេ ប៉ុន្តែវានៅតែដំណើរការលើការគ្រប់គ្រងអង្គចងចាំ NUMA ហើយវិធីសាស្រ្តទំនើបជាបន្តបន្ទាប់ក្នុងការដាក់ទំព័រនៅក្នុងប្រព័ន្ធប្រតិបត្តិការទំនើបបានកើនឡើងពីនេះ។ សរុបមក លោក Bill និង Leonidas បានធ្វើការងារសំខាន់ៗ ទោះបីជាមិនមែនជាអ្នកមានឥទ្ធិពលបំផុតនៅក្នុងតំបន់នេះក៏ដោយ ក៏មានមនុស្សជាច្រើនទៀតដែលធ្វើការលើរឿងដូចគ្នានៅពេលនោះ។ ក្រោយមក ខ្ញុំបានធ្វើការលើប្រធានបទដែលទាក់ទងនឹងការភ្ជាប់ឃ្លាំងសម្ងាត់នៅក្នុងបរិបទនៃអង្គចងចាំប្រតិបត្តិការផ្នែករឹង។ ក្រុមដែលខ្ញុំបានធ្វើការជាមួយលើបញ្ហានេះបានបញ្ចប់ដោយទទួលបានប៉ាតង់ជាច្រើន។ មាន​គំនិត​គួរ​ឱ្យ​ចាប់​អារម្មណ៍​មួយ​ចំនួន​នៅ​ពី​ក្រោយ​ពួក​គេ ប៉ុន្តែ​ខ្ញុំ​មិន​គិត​ថា​ពួក​គេ​នឹង​បញ្ចប់​ដោយ​ការ​អនុវត្ត​នៅ​ក្នុង​ការ​អនុវត្ត​។ វិធីមួយ ឬមធ្យោបាយផ្សេងទៀត វាជាការលំបាកសម្រាប់ខ្ញុំក្នុងការវិនិច្ឆ័យប្រាក់ចំណេញរបស់ពួកគេ។ 

Алексей៖ ក្នុងន័យនេះ សំណួរផ្ទាល់ខ្លួនមួយ៖ តើវាសំខាន់យ៉ាងណាចំពោះអ្នក ដែលគំនិតរបស់អ្នកត្រូវបានដាក់ឱ្យអនុវត្ត? ឬអ្នកមិនគិតពីវា?

ម៉ៃឃើល៖ ខ្ញុំចូលចិត្តសួរសំណួរនេះនៅក្នុងការសម្ភាសន៍ជាមួយមនុស្សផ្សេងទៀត បេក្ខជន ឬបេក្ខជនដែលចង់ចូលរួមមហាវិទ្យាល័យ។ ខ្ញុំគិតថាមិនមានចម្លើយត្រឹមត្រូវចំពោះសំណួរនេះទេ។ មនុស្ស​ដែល​ធ្វើ​រឿង​ត្រជាក់​អាច​មាន​ការ​លើក​ទឹក​ចិត្ត​ខុស​គ្នា។ ខ្ញុំចាប់អារម្មណ៍នឹងបញ្ហា ដោយសារខ្ញុំផ្ទាល់យល់ថាពួកគេគួរឱ្យចាប់អារម្មណ៍ មិនមែនដោយសារតែអត្ថប្រយោជន៍ជាក់ស្តែងរបស់ពួកគេនោះទេ។ ប៉ុន្តែម្យ៉ាងវិញទៀត នៅពេលដែលអ្វីដែលគួរឱ្យចាប់អារម្មណ៍មួយចំនួននៅតែរកឃើញកម្មវិធី ខ្ញុំពិតជាចូលចិត្តវា។ ដូច្នេះវាមិនងាយស្រួលទេនៅទីនេះ។ ប៉ុន្តែនៅដើមដំបូងនៃការងារខ្ញុំនៅតែត្រូវបានជំរុញមិនមែនដោយគំនិតនៃការប្រើប្រាស់ចុងក្រោយនៅក្នុងពិភពលោកនោះទេប៉ុន្តែដោយភាពសុខដុមនៃគំនិតនិងបំណងប្រាថ្នាដើម្បីរុករកវានិងមើលឃើញអ្វីដែលមកពីវា។ ប្រសិនបើនៅទីបញ្ចប់វាផ្តល់នូវលទ្ធផលជាក់ស្តែងគឺអស្ចារ្យណាស់។ 

Алексей៖ ដោយសារការអប់រំ និងបទពិសោធន៍របស់អ្នក អ្នកពូកែជាងភាគច្រើនក្នុងការវិនិច្ឆ័យតម្លៃនៃគំនិតរបស់អ្នកដទៃ។ អ្នកអាចប្រៀបធៀបពួកវា និងកំណត់ថាតើមួយណាដំណើរការល្អជាង។ ខ្ញុំប្រាកដថាអ្នកមានគំនិតអំពីអ្វីដែលបច្ចុប្បន្នកំពុងត្រូវបានប្រើប្រាស់ក្នុងការអនុវត្តដោយក្រុមហ៊ុនផលិតធំៗដូចជា Intel ជាដើម។ តាមទស្សនៈរបស់អ្នក តើវគ្គសិក្សាដែលក្រុមហ៊ុនទាំងនេះកំពុងរៀនត្រឹមត្រូវប៉ុណ្ណា?

ម៉ៃឃើល៖ ការអនុវត្តតែងតែវិលជុំវិញអ្វីដែលអាចជោគជ័យក្នុងពាណិជ្ជកម្ម ពោលគឺបង្កើតប្រាក់ចំណេញ ហើយអ្នកសួរអ្នកផ្សេងអំពីរឿងនោះ។ ការងាររបស់ខ្ញុំភាគច្រើនមានលទ្ធផលនៅក្នុងការបោះពុម្ពផ្សាយ ហើយនៅក្នុងវិស័យប្រព័ន្ធប្រតិបត្តិការ ពួកគេត្រូវបានវាយតម្លៃដោយផ្អែកលើសូចនាករការអនុវត្ត៖ ល្បឿន ការប្រើប្រាស់ថាមពល ទំហំកូដ។ ប៉ុន្តែវាតែងតែហាក់ដូចជាខ្ញុំថាលទ្ធផលជាក់ស្តែងទាំងនេះត្រូវបានបន្ថែមទៅអត្ថបទតែប៉ុណ្ណោះដើម្បីឱ្យពួកគេអាចបោះពុម្ពបាន ហើយការជម្រុញពិតប្រាកដរបស់មនុស្សសម្រាប់ការងារគឺសោភ័ណភាព។ អ្នកស្រាវជ្រាវវាយតម្លៃដំណោះស្រាយតាមទស្សនៈសិល្បៈ ពួកគេយកចិត្តទុកដាក់ថាតើគំនិតមានភាពឆើតឆាយប៉ុណ្ណា ហើយពួកគេព្យាយាមបង្កើតអ្វីដែលប្រសើរជាងវិធីសាស្រ្តដែលមានស្រាប់។ អ្នកស្រាវជ្រាវត្រូវបានជំរុញដោយការជម្រុញផ្ទាល់ខ្លួន ប្រធានបទ សោភ័ណភាព។ ប៉ុន្តែអ្នកមិនអាចសរសេរអំពីរឿងនេះនៅក្នុងអត្ថបទដោយខ្លួនឯងបានទេ រឿងទាំងនេះមិនមែនជាអំណះអំណាងសម្រាប់គណៈកម្មាធិការកម្មវិធីនោះទេ។ ជាសំណាងល្អ ដំណោះស្រាយដ៏ប្រណិតជាញឹកញាប់ក៏លឿន និងថោកផងដែរ។ សហសេវិកជាច្រើននាក់ និងខ្ញុំបានពិភាក្សាអំពីប្រធានបទនេះកាលពី 15 ឆ្នាំមុន ហើយបានបញ្ចប់ការសរសេរអត្ថបទអំពីវា។ ខ្ញុំគិតថាអ្នកនៅតែអាចរកឃើញវាឥឡូវនេះ វាត្រូវបានគេហៅថា "របៀបវាយតម្លៃការស្រាវជ្រាវប្រព័ន្ធ" ឬអ្វីមួយដូចនោះ វាមានអ្នកនិពន្ធច្រើនជាងដប់នាក់។ នេះជាអត្ថបទតែមួយគត់ដែលខ្ញុំជាអ្នកនិពន្ធរួមគ្នាជាមួយ សាសា Fedorovaដូច្នេះ ប្រសិនបើអ្នកស្វែងរកឈ្មោះរបស់នាងនៅក្នុងបញ្ជីបោះពុម្ពរបស់ខ្ញុំ អ្នកនឹងរកឃើញអ្វីដែលអ្នកត្រូវការ។ វានិយាយអំពីការវាយតម្លៃការស្រាវជ្រាវប្រព័ន្ធ និងថាតើភាពឆើតឆាយមានសារៈសំខាន់យ៉ាងណា។ 

Алексей៖ ដូច្នេះ​មាន​ភាព​ខុស​គ្នា​រវាង​ស្តង់ដារ​នៃ​អ្វី​ដែល​ត្រូវ​បាន​គេ​ចាត់​ទុក​ថា​ល្អ​ក្នុង​វិទ្យាសាស្ត្រ និង​ក្នុង​អាជីវកម្ម។ វិទ្យាសាស្ត្រវាយតម្លៃការអនុវត្ត ការប្រើប្រាស់ថាមពល TDP ភាពងាយស្រួលនៃការអនុវត្ត និងច្រើនទៀត។ តើអ្នកមានឱកាសធ្វើការស្រាវជ្រាវប្រភេទនេះនៅសាកលវិទ្យាល័យទេ? តើ​អ្នក​មាន​បន្ទប់​ពិសោធន៍​ដែល​មាន​ម៉ាស៊ីន​ផ្សេង​គ្នា និង​ស្ថាបត្យកម្ម​ផ្សេង​គ្នា​ដែល​អ្នក​អាច​ធ្វើ​ការ​ពិសោធន៍​ឬ​ទេ?

ម៉ៃឃើល៖ បាទ នាយកដ្ឋានរបស់យើងមានម៉ាស៊ីនគួរឱ្យចាប់អារម្មណ៍ផ្សេងៗគ្នាជាច្រើន។ ភាគច្រើនជាញឹកញាប់ពួកវាតូច យើងមានចង្កោមតូចមួយ និងប្រព័ន្ធពហុដំណើរការជាច្រើនដែលមានឧបករណ៍បង្កើនល្បឿនខុសៗគ្នា។ លើសពីនេះ បរិវេណសាលាមានមជ្ឈមណ្ឌលកុំព្យូទ័រដ៏ធំមួយ ដែលបម្រើឱ្យអ្នកវិទ្យាសាស្ត្រមកពីច្រើនមុខវិជ្ជាផ្សេងៗគ្នា។ វាមានប្រហែលមួយពាន់ node និង XNUMX cores ទាំងអស់នៅលើលីនុច។ ប្រសិនបើតម្រូវការកើតឡើង អ្នកតែងតែអាចទិញ AWS មួយចំនួនបាន។ ដូច្នេះ​យើង​មិន​មាន​ការ​រឹត​បន្តឹង​សំខាន់​ជាមួយ​នឹង​ផ្នែក​រឹង។ 

Алексей៖ តើ​វា​ដូច​ជា​សាមសិប​ឆ្នាំ​មុន​យ៉ាង​ណា? តើ​ពេល​នោះ​មាន​បញ្ហា​ទេ?

ម៉ៃឃើល៖ វាខុសគ្នាបន្តិចនៅពេលនោះ។ នៅពាក់កណ្តាលទស្សវត្សរ៍ឆ្នាំ 1980 វិទ្យាសាស្ត្រត្រូវបានចាត់ទុកថាខ្វះធនធានកុំព្យូទ័រ។ ដើម្បីដោះស្រាយស្ថានភាពនេះ មូលនិធិវិទ្យាសាស្ត្រជាតិ (មូលនិធិវិទ្យាសាស្ត្រជាតិ) បានបង្កើតកម្មវិធីនៃការស្រាវជ្រាវពិសោធន៍សម្របសម្រួល (Coordinated Experimental Research, CER) ។ បេសកកម្មរបស់កម្មវិធីគឺផ្តល់ហេដ្ឋារចនាសម្ព័ន្ធកុំព្យូទ័រសម្រាប់នាយកដ្ឋានវិទ្យាសាស្ត្រកុំព្យូទ័រ ហើយវាបានសម្រេចការផ្លាស់ប្តូរយ៉ាងសំខាន់។ ជាមួយនឹងប្រាក់ដែលនាងបានផ្តល់ឱ្យ យើងនៅសាកលវិទ្យាល័យ Rochester បានទិញ 1984-knot BBN Butterfly ក្នុងឆ្នាំ 128 នេះគឺមួយឆ្នាំមុនពេលដែលខ្ញុំបានទៅដល់ទីនោះ។ នៅពេលនោះ វាគឺជាប្រព័ន្ធ Multiprocessor ដ៏ធំបំផុតរបស់ពិភពលោក ដែលមានអង្គចងចាំរួម។ វាមាន 128 processors ដែលនីមួយៗនៅលើ motherboard ដាច់ដោយឡែក និងកាន់កាប់ 128 racks ។ ខួរក្បាលនីមួយៗមានអង្គចងចាំមួយមេហ្គាបៃ RAM ទំហំ XNUMX មេហ្គាបៃ គឺជាចំនួនដែលមិននឹកស្មានដល់នៅពេលនោះ។ នៅលើម៉ាស៊ីននេះ យើងបានអនុវត្តការចាក់សោ MCS ជាលើកដំបូង។ 

Алексей៖ អញ្ចឹង​បើ​ខ្ញុំ​យល់​អ្នក​បាន​ត្រឹម​ត្រូវ តើ​នៅ​ពេល​នេះ​បញ្ហា​ជាមួយ Hardware ត្រូវ​បាន​ដោះ​ស្រាយ​ហើយ​ឬ​នៅ? 

ម៉ៃឃើល៖ ជាទូទៅ បាទ។ មានការព្រមានមួយចំនួន៖ ទីមួយ ប្រសិនបើអ្នកកំពុងធ្វើស្ថាបត្យកម្មកុំព្យូទ័រនៅកម្រិតបន្ទះឈីប វាពិបាកក្នុងការធ្វើនៅក្នុងបរិយាកាសសិក្សា ព្រោះមានឧបករណ៍ដែលល្អជាងសម្រាប់ធ្វើនៅក្នុងអាជីវកម្ម។ ប្រសិនបើអ្នកត្រូវការអ្វីដែលតូចជាង 10 nanometers អ្នកនឹងត្រូវបញ្ជាវាពីអ្នកផ្សេង។ នៅក្នុងតំបន់នេះ វាកាន់តែងាយស្រួលក្នុងការធ្វើជាអ្នកស្រាវជ្រាវនៅ Intel ។ ប្រសិនបើអ្នកកំពុងធ្វើការលើទំនាក់ទំនងអុបទិកនៅលើបន្ទះឈីប ឬនៅលើអង្គចងចាំរឹង អ្នកនឹងរកឃើញបច្ចេកវិទ្យានៅក្នុងអាជីវកម្មដែលមិនទាន់មាននៅក្នុងវិទ្យាសាស្ត្រ ដូច្នេះអ្នកត្រូវតែបង្កើតសម្ព័ន្ធភាព។ ឧទាហរណ៍ Stephen Swanson (លោក Steven Swanson) ត្រូវបានបង្កើតឡើង ភាពជាដៃគូបែបនេះ សម្រាប់បច្ចេកវិទ្យាចងចាំថ្មី។ ទម្រង់បែបបទនេះមិនតែងតែដំណើរការទេ ប៉ុន្តែក្នុងករណីខ្លះវាអាចទទួលបានជោគជ័យ។ លើសពីនេះ នៅក្នុងវិទ្យាសាស្ត្រ ការអភិវឌ្ឍន៍ប្រព័ន្ធកុំព្យូទ័រដ៏មានឥទ្ធិពលបំផុតគឺពិបាកជាង។ គម្រោង​កុំព្យូទ័រ​ទំនើប​ធំ​បំផុត​បច្ចុប្បន្ន​នៅ​អាមេរិក ជប៉ុន និង​ចិន សុទ្ធ​តែ​ផ្តោត​លើ​អាជីវកម្ម។ 

ការអនុវត្តជាក់ស្តែងនៃគំនិត។ MCS, MS, CLH, JSR 166 ធ្វើការជាមួយ Doug Lee និងច្រើនទៀត។

វីតាលី៖ អ្នក​បាន​និយាយ​រួច​ហើយ​អំពី​របៀប​ដែល​អ្នក​ចាប់​ផ្តើម​ធ្វើ​ការ​លើ​ក្បួន​ដោះស្រាយ​សមកាលកម្ម។ អ្នកមានអត្ថបទល្បីពីរអំពី ការទប់ស្កាត់ MCS и ជួរ Michael-Scott (MS)ដែលក្នុងន័យមួយត្រូវបានអនុវត្តនៅក្នុង Java ។ (កំណត់សម្គាល់របស់អ្នកនិពន្ធ៖ ការបោះពុម្ពទាំងអស់អាចមើលបាន។ តំណភ្ជាប់) នៅទីនោះ ការទប់ស្កាត់នេះត្រូវបានអនុវត្តជាមួយនឹងការផ្លាស់ប្តូរមួយចំនួន ហើយវាបានប្រែក្លាយ ចាក់សោ CLHហើយជួរត្រូវបានអនុវត្តដូចបំណង។ ប៉ុន្តែជាច្រើនឆ្នាំបានកន្លងផុតទៅរវាងការបោះពុម្ពអត្ថបទរបស់អ្នក និងការអនុវត្តជាក់ស្តែងរបស់ពួកគេ។ 

Алексей៖ វាហាក់ដូចជាប្រហែល 10 ឆ្នាំនៅក្នុងករណីនៃជួរ។

ម៉ៃឃើល៖ មុនពេលលក្ខណៈពិសេសទាំងនេះបានបង្ហាញខ្លួននៅក្នុងបណ្ណាល័យស្តង់ដារ Java?

វីតាលី៖ បាទ។ តើអ្នកបានធ្វើអ្វីខ្លះដើម្បីឱ្យរឿងនេះកើតឡើង? ឬពួកគេមិនធ្វើអ្វីសោះ?

ម៉ៃឃើល៖ ខ្ញុំអាចប្រាប់អ្នកពីរបៀបដែល MS Queue ចូលទៅក្នុង Java 5។ ប៉ុន្មានឆ្នាំមុនពេលវាចេញមក ខ្ញុំបានធ្វើការជាមួយក្រុម Mark Moyers នៅ Sun Microsystems នៅក្នុងមន្ទីរពិសោធន៍របស់ពួកគេនៅជិតទីក្រុងបូស្តុន។ គាត់បានរៀបចំសិក្ខាសាលាមួយសម្រាប់អ្នកដែលគាត់ស្គាល់ដែលកំពុងធ្វើការលើបញ្ហាដែលគួរឱ្យចាប់អារម្មណ៍ក្នុង multithreading ដោយសារតែគាត់ចង់ស្វែងរកប្រធានបទដែលគាត់អាចលក់ទៅឱ្យក្រុមហ៊ុនរបស់ពួកគេ។ នោះហើយជាកន្លែងដែលខ្ញុំបានជួប Doug Lea ជាលើកដំបូង។ Doug និងខ្ញុំ និងមនុស្សប្រហែល 25 នាក់ផ្សេងទៀតមកពី Sun បានរួមគ្នាពិភាក្សាអំពីបទបង្ហាញរបស់ Doug នៅលើ JSR ៩៧៤ដែលក្រោយមកបានក្លាយជា java.util.concurrent ។ នៅតាមផ្លូវ Doug បាននិយាយថាគាត់ចង់ប្រើជួរ MS ប៉ុន្តែសម្រាប់នេះគាត់ត្រូវការរាប់សម្រាប់ចំនួនធាតុនៅក្នុងជួរសម្រាប់ចំណុចប្រទាក់។ នោះ​គឺ​ថា​នេះ​គួរ​តែ​ត្រូវ​បាន​ធ្វើ​ដោយ​វិធី​សា​ស្រ្ត​ដោយ​ឡែក​ពី​គ្នា​, អាតូមិច​, ត្រឹមត្រូវ​និង​លឿន​។ ខ្ញុំបានស្នើឱ្យគ្រាន់តែបន្ថែមលេខសៀរៀលទៅថ្នាំង ដោយយកចំនួនថ្នាំងទីមួយ និងលេខចុងក្រោយ ហើយដកលេខមួយចេញពីមួយទៀត។ Doug គ្រវីក្បាល ហើយនិយាយថា "ហេតុអ្វីមិនធ្វើ" ហើយបញ្ចប់ដោយការធ្វើវា។ យើងបានពិភាក្សាអំពីការអនុវត្តវិធីសាស្រ្តនេះនៅក្នុងបណ្ណាល័យ ប៉ុន្តែ Doug បានធ្វើកិច្ចការភាគច្រើនដោយខ្លួនឯង។ ជាលទ្ធផល គាត់អាចបង្កើតការគាំទ្រ multithreading ដ៏ល្អនៅក្នុង Java ។ 

Алексей៖ ដូច្នេះ ប្រសិនបើខ្ញុំយល់បានត្រឹមត្រូវ វិធីសាស្ត្រ .size() គួរតែជាផ្នែកនៃចំណុចប្រទាក់ជួរស្តង់ដារ ហើយវាគួរតែមានភាពស្មុគស្មាញនៃក្បួនដោះស្រាយ O(1)?

ម៉ៃឃើល៖ បាទ/ចាស ហើយបន្ថែមពីលើនេះ បញ្ជរដាច់ដោយឡែកមួយត្រូវបានទាមទារ។

Алексей៖ ដោយសារតែប្រសិនបើអ្នកហៅវិធីសាស្ត្រ .size() នៅក្នុង Java នោះលទ្ធផលត្រូវបានរំពឹងថានឹងមានភ្លាមៗ ហើយមិនផ្អែកលើទំហំពិតប្រាកដនៃការប្រមូលនោះទេ។ ខ្ញុំឃើញហើយ អរគុណ។

ម៉ៃឃើល៖ ពីរបីឆ្នាំក្រោយមក ខ្ញុំកំពុងធ្វើការលើរចនាសម្ព័ន្ធទិន្នន័យពីរជាមួយសិស្សរបស់ខ្ញុំ Bill Scherer - តាមពិតនេះគឺជាអ្វីដែលខ្ញុំនឹងនិយាយអំពី រាយការណ៍អំពី Hydra. Doug បានមករកយើងហើយនិយាយថាគាត់អាចប្រើពួកវានៅក្នុង Java Executor Framework ។ រួមគ្នាជាមួយលោក Bill ពួកគេបានបង្កើតការអនុវត្តពីរ ដែលហៅថា ជួរយុត្តិធម៌ និងអយុត្តិធម៌។ ខ្ញុំបានណែនាំពួកគេអំពីគម្រោងនេះ ទោះបីជាខ្ញុំមិនបានចូលរួមក្នុងការសរសេរកូដពិតប្រាកដក៏ដោយ។ ជាលទ្ធផលល្បឿននៃប្រតិបត្តិករបានកើនឡើងយ៉ាងខ្លាំង។ 

Владимир៖ តើអ្នកបានជួបប្រទះការអនុវត្តមិនត្រឹមត្រូវនៃក្បួនដោះស្រាយ ឬសំណើដើម្បីបន្ថែមមុខងារថ្មីៗទេ? ជាទូទៅ ការអនុវត្តគួរតែស្របគ្នានឹងទ្រឹស្តី ប៉ុន្តែជារឿយៗវាខុសគ្នា។ ឧបមាថាអ្នកបានសរសេរក្បួនដោះស្រាយមួយ ហើយនៅលើក្រដាសវាដំណើរការ ប៉ុន្តែមនុស្សដែលចូលរួមក្នុងការអនុវត្តបានចាប់ផ្តើមសួរអ្នកសម្រាប់លក្ខណៈពិសេសបន្ថែម ឬប្រភេទនៃការកែប្រែមួយចំនួននៃក្បួនដោះស្រាយ។ តើអ្នកធ្លាប់មានស្ថានភាពបែបនេះទេ?

ម៉ៃឃើល៖ ឧទាហរណ៍តែមួយគត់ដែលនរណាម្នាក់មករកខ្ញុំ ហើយសួរ "របៀបអនុវត្តវា" គឺជាសំណួររបស់ Doug ដែលខ្ញុំបាននិយាយរួចហើយ។ ប៉ុន្តែមានករណីមួយចំនួនដែលការផ្លាស់ប្តូរគួរឱ្យចាប់អារម្មណ៍ត្រូវបានធ្វើឡើងដើម្បីបំពេញតម្រូវការជាក់ស្តែង។ ឧទាហរណ៍ ក្រុម K42 នៅ IBM បានបំប្លែងសោ MCS និងធ្វើឱ្យវាក្លាយជាចំណុចប្រទាក់ស្តង់ដារ ដូច្នេះមិនចាំបាច់ឆ្លងកាត់ថ្នាំងជួរទៅក្រោយដើម្បីទទួល និងបញ្ចេញទម្លាប់នោះទេ។ អរគុណចំពោះចំណុចប្រទាក់ស្ដង់ដារនេះ គំនិតដែលស្រស់ស្អាតតាមទ្រឹស្តីបានចាប់ផ្តើមដំណើរការក្នុងការអនុវត្ត។ វាជារឿងគួរឱ្យភ្ញាក់ផ្អើលដែលពួកគេមិនដែលបានបោះពុម្ពអត្ថបទអំពីវា ហើយទោះបីជាពួកគេបានទទួលប៉ាតង់ក៏ដោយ ក្រោយមកពួកគេបានបោះបង់វាចោល។ គំនិតនេះគឺអស្ចារ្យណាស់ ហើយខ្ញុំព្យាយាមនិយាយអំពីវានៅពេលណាដែលអាចធ្វើទៅបាន។ 

មាន​ករណី​ផ្សេង​ទៀត​ដែល​មនុស្ស​បាន​ធ្វើ​ឱ្យ​ប្រសើរ​ឡើង​ចំពោះ​ក្បួន​ដោះស្រាយ​ដែល​ខ្ញុំ​បាន​បោះផ្សាយ។ ឧទាហរណ៍ ជួរ MS មានយន្តការដំឡើងពីរជំហាន ដែលមានន័យថាមាន CASs ពីរនៅលើផ្លូវសំខាន់នៃជួរ។ នៅលើរថយន្តចាស់ៗ CAS មានតម្លៃថ្លៃណាស់។ ក្រុមហ៊ុន Intel និងអ្នកផលិតផ្សេងទៀតបានបង្កើនប្រសិទ្ធភាពពួកវាបានយ៉ាងល្អនាពេលថ្មីៗនេះ ប៉ុន្តែនៅពេលមួយនេះគឺជាការណែនាំ 30 វដ្ត ដូច្នេះការមានច្រើនជាងមួយនៅលើផ្លូវសំខាន់គឺមិនចង់បាន។ ជាលទ្ធផល ជួរផ្សេងគ្នាត្រូវបានបង្កើតឡើងដែលស្រដៀងនឹងជួរ MS ប៉ុន្តែមានប្រតិបត្តិការអាតូមិកតែមួយគត់នៅលើផ្លូវសំខាន់។ នេះត្រូវបានសម្រេចដោយសារតែការពិតដែលថាក្នុងអំឡុងពេលជាក់លាក់នៃពេលវេលាប្រតិបត្តិការអាចចំណាយពេល O(n) ជាជាង O(1) ។ វាមិនទំនងទេ ប៉ុន្តែអាចទៅរួច។ វាបានកើតឡើងដោយសារតែការពិតដែលថានៅពេលជាក់លាក់ណាមួយក្បួនដោះស្រាយបានឆ្លងកាត់ជួរពីដំបូងទៅទីតាំងបច្ចុប្បន្ននៅក្នុងជួរនេះ។ ជាទូទៅ ក្បួនដោះស្រាយបានប្រែក្លាយជាជោគជ័យខ្លាំង។ តាមដែលខ្ញុំដឹង វាមិនត្រូវបានគេប្រើប្រាស់យ៉ាងទូលំទូលាយនោះទេ មួយផ្នែកដោយសារតែប្រតិបត្តិការអាតូមិកត្រូវការធនធានតិចជាងមុន។ ប៉ុន្តែគំនិតគឺអស្ចារ្យណាស់។ ខ្ញុំក៏ចូលចិត្តការងាររបស់ Dave Dice ពី Oracle ដែរ។ អ្វីគ្រប់យ៉ាងដែលគាត់ធ្វើគឺជាក់ស្តែងណាស់ ហើយគាត់ប្រើដែកយ៉ាងឆ្លាតវៃ។ គាត់មានដៃនៅក្នុងក្បួនដោះស្រាយការធ្វើសមកាលកម្មដែលដឹងអំពី NUMA និងរចនាសម្ព័ន្ធទិន្នន័យច្រើនខ្សែ។ 

Владимир៖ នៅពេលអ្នកសរសេរក្បួនដោះស្រាយ ឬបង្រៀនសិស្ស លទ្ធផលនៃការងាររបស់អ្នកមិនអាចមើលឃើញភ្លាមៗនោះទេ។ សហគមន៍ត្រូវការពេលវេលាខ្លះដើម្បីស្គាល់ និយាយថាអត្ថបទថ្មី។ ក្បួនដោះស្រាយថ្មីមិនស្វែងរកកម្មវិធីភ្លាមៗទេ។ 

ម៉ៃឃើល៖ វានៅឆ្ងាយពីភាពច្បាស់លាស់ភ្លាមៗថាតើអត្ថបទនេះនឹងមានសារៈសំខាន់ឬអត់។ ខ្ញុំ​គិត​ថា វា​នឹង​គួរ​ឱ្យ​ចាប់​អារម្មណ៍​ក្នុង​ការ​ធ្វើ​ការ​សិក្សា​លើ​ឯកសារ​ដែល​បាន​ឈ្នះ​ពាន​រង្វាន់​នៅ​ក្នុង​សន្និសីទ។ នោះគឺមើលអត្ថបទដែលមនុស្សនៅក្នុងគណៈកម្មាធិការកម្មវិធីនៅពេលមួយចាត់ទុកថាល្អបំផុត។ អ្នក​ត្រូវ​ព្យាយាម​គណនា​តាម​ចំនួន​តំណ និង​ឥទ្ធិពល​លើ​អាជីវកម្ម​ថា តើ​អត្ថបទ​ទាំង​នេះ​មាន​ឥទ្ធិពល​យ៉ាង​ណា​ក្នុង​រយៈពេល 10, 20, 25 ឆ្នាំ។ ខ្ញុំសង្ស័យថានឹងមានការជាប់ទាក់ទងគ្នាខ្លាំងរវាងអ្នកទាំងពីរ។ វានឹងមិនសូន្យទេ ប៉ុន្តែភាគច្រើនទំនងជាវានឹងខ្សោយជាងយើងចង់បាន។ គំនិត​ជា​ច្រើន​នៅ​តែ​មិន​បាន​អះអាង​ជា​យូរ​មក​ហើយ​មុន​ពេល​ដែល​វា​រីក​រាលដាល។ ជាឧទាហរណ៍ ចូរយើងយកអង្គចងចាំប្រតិបត្តិការ។ ជាង 10 ឆ្នាំបានកន្លងផុតទៅចាប់ពីពេលដែលអត្ថបទដើមត្រូវបានបោះពុម្ពរហូតដល់ពេលដែលមនុស្សចាប់ផ្តើមសាងសង់ម៉ាស៊ីនជាមួយវា។ ហើយមុនពេលរូបរាងនៃការចងចាំនេះនៅក្នុងផលិតផលពាណិជ្ជកម្ម - និងទាំងអស់ 20. អស់រយៈពេលជាយូរមកហើយគ្មាននរណាម្នាក់យកចិត្តទុកដាក់លើអត្ថបទនោះទេហើយបន្ទាប់មកចំនួននៃតំណភ្ជាប់ទៅវាបានកើនឡើងយ៉ាងខ្លាំង។ វានឹងពិបាកក្នុងការទស្សន៍ទាយរឿងនេះជាមុន។ ម្យ៉ាងវិញទៀត ពេលខ្លះគំនិតរកឃើញការអនុវត្តភ្លាមៗ។ កាលពីប៉ុន្មានឆ្នាំមុន ខ្ញុំបានសរសេរក្រដាសមួយជាមួយ Joe Izraelevitz សម្រាប់ DISC ដែលស្នើនិយមន័យផ្លូវការថ្មីនៃសុពលភាពសម្រាប់រចនាសម្ព័ន្ធទិន្នន័យជាប់លាប់ដែលអាចប្រើបានបន្ទាប់ពីកុំព្យូទ័រដែលដំណើរការពួកវាគាំង។ ខ្ញុំចូលចិត្តអត្ថបទតាំងពីដំបូងមកម្ល៉េះ ប៉ុន្តែវាប្រែជាពេញនិយមជាងការរំពឹងទុក។ វា​ត្រូវ​បាន​ប្រើ​ដោយ​ក្រុម​ផ្សេង​គ្នា​ជា​ច្រើន ហើយ​នៅ​ទី​បំផុត​បាន​ក្លាយ​ជា​និយមន័យ​ស្តង់ដារ​នៃ​រចនាសម្ព័ន្ធ​ជាប់​រហូត។ ដែលជាការពិតណាស់គឺល្អណាស់។

Владимир៖ តើ​មាន​បច្ចេកទេស​ណា​ដែល​អ្នក​ប្រើ​សម្រាប់​ការ​វាយ​តម្លៃ? តើអ្នកថែមទាំងព្យាយាមវាយតម្លៃអត្ថបទរបស់អ្នក និងសិស្សរបស់អ្នកដែរឬទេ? បើ​និយាយ​ថា​តើ​បុគ្គល​ដែល​អ្នក​បាន​បង្រៀន​នោះ​កំពុង​ដើរ​ក្នុង​ទិសដៅ​ត្រឹម​ត្រូវ​ឬ​អត់។

ម៉ៃឃើល៖ ដូច​អ្នក​ដទៃ​ដែរ ខ្ញុំ​យក​ចិត្ត​ទុក​ដាក់​បន្ថែម​ទៀត​លើ​អ្វី​ដែល​ខ្ញុំ​កំពុង​ធ្វើ​នៅ​ពេល​នេះ។ ជាថ្មីម្តងទៀត ដូចអ្នកដទៃទៀតដែរ ខ្ញុំពិនិត្យ Google Scholar ម្តងម្កាល ដើម្បីមើលថាតើឯកសារអតីតកាលរបស់ខ្ញុំត្រូវបានដកស្រង់ ឬអត់ ប៉ុន្តែនោះជាការចង់ដឹងចង់ឃើញច្រើនជាង។ ភាគច្រើនខ្ញុំជក់ចិត្តនឹងអ្វីដែលសិស្សរបស់ខ្ញុំកំពុងធ្វើនៅពេលនេះ។ នៅពេលនិយាយអំពីការវាយតម្លៃការងារបច្ចុប្បន្ន ផ្នែកមួយគឺការពិចារណាអំពីសោភ័ណភាព អ្វីដែលឆើតឆាយ និងអ្វីដែលមិនមែន។ ហើយនៅកម្រិតប្រចាំថ្ងៃ សំណួរបើកចំហដើរតួនាទីយ៉ាងធំ។ ជាឧទាហរណ៍ សិស្សម្នាក់មករកខ្ញុំជាមួយនឹងក្រាហ្វនៃលទ្ធផលមួយចំនួន ហើយយើងកំពុងព្យាយាមស្វែងយល់ថាតើអាកប្បកិរិយាចម្លែកមួយចំនួនរបស់ក្រាហ្វបានមកពីណា។ ជាទូទៅ​ក្នុង​ការងារ​របស់​យើង យើង​ព្យាយាម​ជានិច្ច​ដើម្បី​យល់​នូវ​អ្វី​ដែល​យើង​មិន​ទាន់​យល់។ 

អង្គចងចាំប្រតិបត្តិការ

វីតាលី៖ ប្រហែលជាយើងអាចនិយាយបន្តិចអំពីការចងចាំប្រតិបត្តិការ?

ម៉ៃឃើល៖ ខ្ញុំ​គិត​ថា​វា​គួរ​និយាយ​យ៉ាង​ហោច​ណាស់​បន្តិច​ព្រោះ​ខ្ញុំ​បាន​ប្រឹងប្រែង​ខ្លាំង​ក្នុង​វា។ នេះជាប្រធានបទដែលខ្ញុំមានការបោះពុម្ពច្រើនជាងអ្វីផ្សេងទៀត។ ប៉ុន្តែនៅពេលជាមួយគ្នានេះ ចម្លែកគ្រប់គ្រាន់ ខ្ញុំតែងតែមានការសង្ស័យយ៉ាងខ្លាំងអំពីការចងចាំប្រតិបត្តិការ។ ក្នុង​គំ​ណិ​ត​របស់ខ្ញុំ, អត្ថបទដោយ Herlihy និង Moss (M. Herlihy, J. E. B. Moss) ត្រូវបានបោះពុម្ពមុនពេលវេលារបស់វា។ នៅដើមទសវត្សរ៍ឆ្នាំ 1990 ពួកគេបានស្នើថាការចងចាំប្រតិបត្តិការអាចជួយអ្នកសរសេរកម្មវិធីដែលមានទេពកោសល្យធ្វើការលើរចនាសម្ព័ន្ធទិន្នន័យពហុខ្សែ ដូច្នេះរចនាសម្ព័ន្ធទាំងនេះអាចត្រូវបានប្រើជាបណ្ណាល័យដោយអ្នកសរសេរកម្មវិធីធម្មតា។ នោះគឺវានឹងក្លាយជាជំនួយសម្រាប់ Doug Lee ដែលធ្វើ JSR 166 របស់គាត់។ ប៉ុន្តែការចងចាំប្រតិបត្តិការមិនមានបំណងធ្វើឱ្យកម្មវិធីពហុខ្សែមានភាពងាយស្រួលនោះទេ។ ប៉ុន្តែនេះពិតជារបៀបដែលវាចាប់ផ្តើមត្រូវបានយល់ឃើញនៅដើមទសវត្សរ៍ឆ្នាំ 2000 នៅពេលដែលវារីករាលដាល។ វាត្រូវបានផ្សព្វផ្សាយជាមធ្យោបាយដោះស្រាយបញ្ហានៃការសរសេរកម្មវិធីប៉ារ៉ាឡែល។ វិធីសាស្រ្តនេះហាក់ដូចជាអស់សង្ឃឹមសម្រាប់ខ្ញុំជានិច្ច។ អង្គចងចាំប្រតិបត្តិការអាចធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការសរសេររចនាសម្ព័ន្ធទិន្នន័យស្របគ្នា។ នេះ​ហាក់​ដូច​ជា​ខ្ញុំ​ជា​អ្វី​ដែល​នាង​សម្រេច​បាន។ 

អំពីការលំបាកក្នុងការសរសេរកូដពហុខ្សែ

Алексей: គួរ​ឱ្យ​ចាប់អារម្មណ៍​ណាស់។ វាហាក់ដូចជាមានឧបសគ្គជាក់លាក់មួយរវាងអ្នកសរសេរកម្មវិធីធម្មតា និងអ្នកដែលអាចសរសេរកូដពហុខ្សែ។ កាលពីឆ្នាំមុន ខ្ញុំបាននិយាយជាច្រើនដងជាមួយអ្នកដែលកំពុងអនុវត្តក្របខ័ណ្ឌក្បួនដោះស្រាយមួយចំនួន។ ឧទាហរណ៍ជាមួយ Martin Thomson ក៏ដូចជាជាមួយអ្នកសរសេរកម្មវិធីដែលធ្វើការលើបណ្ណាល័យពហុខ្សែ។ (កំណត់សម្គាល់របស់អ្នកនិពន្ធ៖ Martin Thompson គឺជាអ្នកអភិវឌ្ឍន៍ដ៏ល្បីម្នាក់ គាត់បានសរសេរ អ្នករំខាន и ឡាន. ហើយគាត់ក៏មានដែរ។ របាយការណ៍ នៅក្នុងសន្និសីទ Joker 2015 របស់យើង ការថតវីដេអូ មាននៅលើ YouTube. គាត់ក៏ដូចគ្នាដែរ។ បានបើក សន្និសីទនេះ។ ការកត់ត្រាសំខាន់ មានផងដែរ) ។ ពួកគេនិយាយថាបញ្ហាប្រឈមចម្បងគឺការធ្វើឱ្យក្បួនដោះស្រាយទាំងលឿន និងងាយស្រួលប្រើ។ នោះគឺពួកគេកំពុងព្យាយាមជម្នះឧបសគ្គនេះ និងទាក់ទាញមនុស្សឱ្យបានច្រើនតាមដែលអាចធ្វើទៅបានទៅកាន់តំបន់នេះ។ តើអ្នកគិតយ៉ាងណាចំពោះវា?

ម៉ៃឃើល៖ នេះគឺជាបញ្ហាចម្បងនៃ multithreading៖ របៀបសម្រេចបាននូវដំណើរការខ្ពស់ដោយមិនបង្កើនភាពស្មុគស្មាញនៃប្រព័ន្ធ។ 

Алексей៖ ដោយសារតែនៅពេលដែលពួកគេព្យាយាមជៀសវាងភាពស្មុគស្មាញ នោះក្បួនដោះស្រាយក្លាយជាសកលតិចជាង។

ម៉ៃឃើល៖ គន្លឹះនៅទីនេះគឺត្រូវបានរចនាយ៉ាងត្រឹមត្រូវ។ វាហាក់ដូចជាខ្ញុំថានេះជាទូទៅគឺជារឿងសំខាន់សម្រាប់ប្រព័ន្ធកុំព្យូទ័រជាវាលមួយ។ Butler Lampson ចូលចិត្តប្រើពាក្យនេះ ហើយគាត់ហៅយើងថា "ពាណិជ្ជករនៃការអរូបី" ។ បច្ចេកវិទ្យាសាមញ្ញមិនមានសព្វថ្ងៃនេះទេ។ ឧបករណ៍ដំណើរការដែលយើងប្រើមាន 10 ពាន់លានត្រង់ស៊ីស្ទ័រ - ភាពសាមញ្ញគឺចេញពីសំណួរ។ ក្នុងពេលជាមួយគ្នានេះ ISA មានភាពសាមញ្ញជាងខួរក្បាល ដោយសារយើងធ្វើការយូរណាស់មកហើយ ដើម្បីផ្តល់ឱ្យវានូវដំណើរការខ្ពស់ និងចំណុចប្រទាក់សាមញ្ញ។ ប៉ុន្តែ​អ្វីៗ​ក៏​មិន​រលូន​ជាមួយ​នាង​ដែរ។ បញ្ហាដូចគ្នាគឺជាមួយនឹងឧបករណ៍បង្កើនល្បឿនដែលឥឡូវនេះកំពុងលេចឡើងនៅលើទីផ្សារ។ សំណួរកើតឡើង - របៀបបង្កើតចំណុចប្រទាក់ត្រឹមត្រូវសម្រាប់ GPU យន្តការអ៊ិនគ្រីប ការបង្ហាប់ យន្តការបំលែងកូដ យន្តការពិជគណិតលីនេអ៊ែរ ឬសូម្បីតែ FPGA ដែលអាចបត់បែនបាន។ តើធ្វើដូចម្តេចដើម្បីបង្កើតចំណុចប្រទាក់ដែលធ្វើឱ្យឧបករណ៍ងាយស្រួលប្រើនិងលាក់ភាពស្មុគស្មាញ? វានឹងមិនកម្ចាត់វាទេ ប៉ុន្តែលាក់វាពីអ្នកសរសេរកម្មវិធីសាមញ្ញ។ 

Алексей៖ ដូចដែលខ្ញុំយល់ហើយ យើងនៅតែមានឧបសគ្គក្នុងការយល់ដឹងអំពីអរូបី។ ចូរយកគំរូនៃការចងចាំ; នៅដំណាក់កាលនៃការអភិវឌ្ឍន៍វិទ្យាសាស្ត្រ និងបច្ចេកវិទ្យារបស់យើង នេះគឺជាការសង្ខេបដ៏សំខាន់មួយ។ សូមអរគុណចំពោះវា អ្នកសរសេរកម្មវិធីទាំងអស់ត្រូវបានបែងចែកជាពីរក្រុម៖ ផ្នែកធំជាងគឺជាអ្នកដែលមិនយល់ ហើយផ្នែកតូចជាងគឺជាអ្នកដែលយល់ ឬគិតថាពួកគេយល់។ 

ម៉ៃឃើល៖ នោះ​ជា​សំណួរ​ល្អ - តើ​យើង​ណា​ម្នាក់​យល់​ពី​គំរូ​នៃ​ការ​ចងចាំ​ឬ?

វីតាលី៖ ជាពិសេសនៅក្នុង C++ ។

ម៉ៃឃើល៖ និយាយជាមួយ Hans Boehm ពេលខ្លះ។ គាត់គឺជាមនុស្សឆ្លាតបំផុតម្នាក់ដែលខ្ញុំស្គាល់ ដែលជាអ្នកជំនាញឈានមុខគេលើម៉ូដែលអង្គចងចាំ។ គាត់​នឹង​ប្រាប់​អ្នក​ភ្លាម​ថា​មាន​ច្រើន​ដែល​គាត់​មិន​យល់។ ប៉ុន្តែប្រសិនបើយើងត្រលប់ទៅបញ្ហាអរូបីវិញ នោះតាមគំនិតរបស់ខ្ញុំ គំនិតសំខាន់បំផុតក្នុងវិស័យគំរូនៃការចងចាំក្នុងរយៈពេល 30 ឆ្នាំកន្លងមកនេះត្រូវបានបង្ហាញ។ នៅក្នុងការបកស្រាយរបស់ Sarita Adve. (កំណត់សម្គាល់របស់អ្នកនិពន្ធ៖ បញ្ជីពេញលេញនៃការបោះពុម្ពគឺអាចរកបាន តំណភ្ជាប់).

Алексей៖ សំណួររបស់ខ្ញុំគឺ៖ តើរបាំងនេះមកពីធម្មជាតិនៃគោលគំនិតទេ? 

ម៉ៃឃើល៖ ទេ។ Sarita បានសន្និដ្ឋានថាជាមួយនឹងវិធីសាស្រ្តត្រឹមត្រូវអ្នកអាចលាក់ភាពស្មុគស្មាញទាំងអស់ដោយជោគជ័យទទួលបានប្រសិទ្ធភាពខ្ពស់និងផ្តល់ឱ្យអ្នកសរសេរកម្មវិធីនូវ API សាមញ្ញ។ ហើយប្រសិនបើអ្នកធ្វើតាម API នេះ អ្នកអាចសម្រេចបាននូវភាពស៊ីសង្វាក់គ្នា។ ខ្ញុំគិតថានេះជាគំរូត្រឹមត្រូវ។ សរសេរកូដដោយគ្មានការប្រណាំងទិន្នន័យ និងទទួលបានភាពជាប់លាប់តាមលំដាប់លំដោយ។ ជាការពិតណាស់ ដើម្បីកាត់បន្ថយលទ្ធភាពនៃការប្រណាំង ឧបករណ៍ពិសេសគឺត្រូវការជាចាំបាច់ ប៉ុន្តែនោះជាបញ្ហាមួយទៀត។ 

Владимир៖ តើមានពេលខ្លះនៅក្នុងអាជីពរបស់អ្នកទេ នៅពេលដែលបញ្ហាដែលហាក់ដូចជាត្រូវបានដោះស្រាយភ្លាមៗ ប្រែទៅជាមហន្តរាយ ឬវាប្រែថាបញ្ហានេះមិនអាចដោះស្រាយបាន? ជាឧទាហរណ៍ តាមទ្រឹស្ដី អ្នកអាចកំណត់លេខណាមួយ ឬកំណត់ថាតើលេខណាមួយជាលេខសំខាន់។ ប៉ុន្តែ​ក្នុង​ការអនុវត្ត​វា​អាច​ជា​ការ​លំបាក​ក្នុង​ការ​ធ្វើ​ជាមួយ​នឹង​ផ្នែក​រឹង​បច្ចុប្បន្ន​វា​ពិបាក​ក្នុង​ការ​កំណត់​លេខ។ មានរឿងស្រដៀងនឹងអ្នកដែរទេ?

ម៉ៃឃើល៖ ខ្ញុំ​មិន​ចាំ​អ្វី​នោះ​ភ្លាមៗ​ទេ។ មានពេលខ្លះដែលវាហាក់ដូចជាខ្ញុំថាមិនមានអ្វីនៅសល់ដើម្បីធ្វើនៅក្នុងតំបន់ជាក់លាក់មួយ ប៉ុន្តែបន្ទាប់មកមានអ្វីថ្មី និងគួរឱ្យចាប់អារម្មណ៍បានកើតឡើងនៅទីនោះ។ ជា​ឧទាហរណ៍ ខ្ញុំ​គិត​ថា​តំបន់​នៃ​ការ​តម្រង់​ជួរ​គ្មាន​ដែន​កំណត់​បាន​ឈាន​ដល់​កាលកំណត់​ហើយ។ បន្ទាប់ពីការធ្វើឱ្យប្រសើរឡើងជាច្រើនចំពោះជួរ MNS គ្មានអ្វីកើតឡើងទៀតទេ។ ហើយបន្ទាប់មក Morrison (Adam Morrison) និង Afek (Yehuda Afek) បានបង្កើត ជួរ LCRQ. វាច្បាស់ណាស់ថា ជួរពហុខ្សែស្រឡាយគ្មានដែនកំណត់គឺអាចធ្វើទៅបាន ដែលភាគច្រើនមានតែការណែនាំអំពីការទាញយក និងបង្កើននៅលើផ្លូវសំខាន់ប៉ុណ្ណោះ។ ហើយ​នេះ​បាន​ធ្វើ​ឱ្យ​វា​អាច​សម្រេច​បាន​នូវ​លំដាប់​នៃ​ទំហំ​ប្រតិបត្តិការ​ល្អ​ប្រសើរ​ជាង​មុន​។ វាមិនមែនថាយើងមិនដឹងថាការប្រមូលនិងបង្កើនគឺជារឿងដែលមានប្រយោជន៍នោះទេ។ Eric Freudenthal បានសរសេរអំពីរឿងនេះនៅក្នុងការងាររបស់គាត់នៅលើ Ultracomputer ជាមួយ Allan Gottlieb នៅចុងទសវត្សរ៍ឆ្នាំ 1980 ប៉ុន្តែវាគឺអំពីជួរមានកំណត់។ Morrison និង Afek អាចប្រើការប្រមូលនិងបង្កើនលើជួរដែលគ្មានដែនកំណត់។

ស្ថាបត្យកម្មថ្មី។ តើ​ការ​ទទួល​ជ័យ​ជម្នះ​នៃ​ការ​ចងចាំ​ប្រតិបត្តិការ​ជិត​ដល់​ហើយ​ឬ​នៅ?

Владимир៖ តើអ្នកកំពុងស្វែងរកដំណោះស្រាយស្ថាបត្យកម្មថ្មីដែលអាចមានប្រយោជន៍សម្រាប់ក្បួនដោះស្រាយមែនទេ? 

ម៉ៃឃើល៖ ជា​ការ​ពិត​ណាស់ មាន​រឿង​ជា​ច្រើន​ដែល​ខ្ញុំ​ចង់​ឃើញ​អនុវត្ត។ 

Владимирឧទាហរណ៍៖ តើប្រភេទអ្វី?

ម៉ៃឃើល៖ ជាដំបូង ផ្នែកបន្ថែមសាមញ្ញមួយចំនួនចំពោះអង្គចងចាំប្រតិបត្តិការកម្រិតផ្នែករឹងរបស់យើងនៅក្នុងប្រព័ន្ធដំណើរការ Intel និង IBM ។ ជាពិសេស ខ្ញុំចង់ឱ្យការផ្ទុក និងហាងដែលមិនមានប្រតិបត្តិការដែលទើបតែកើតឡើង ដើម្បីឱ្យមានភ្លាមៗនៅក្នុងប្រតិបត្តិការ។ ពួកវាភ្លាមៗនាំទៅរករង្វិលជុំនៅក្នុងលំដាប់ដែលកើតឡើងមុន ដូច្នេះពួកគេអាចពិបាក។ ប៉ុន្តែប្រសិនបើអ្នករក្សាស្រទាប់នៃភាពអរូបី វាមានរឿងគួរឱ្យចាប់អារម្មណ៍ជាច្រើនដែលអ្នកអាចធ្វើនៅខាងក្រៅប្រតិបត្តិការខណៈពេលដែលវាកំពុងកើតឡើង។ ខ្ញុំ​មិន​ដឹង​ថា​ការ​អនុវត្ត​នេះ​ពិបាក​ប៉ុណ្ណា​ទេ ប៉ុន្តែ​វា​នឹង​មាន​ប្រយោជន៍​ខ្លាំង​ណាស់។ 

អ្វីដែលមានប្រយោជន៍មួយទៀតគឺការផ្ទុកឃ្លាំងសម្ងាត់ពីអង្គចងចាំពីចម្ងាយ។ ខ្ញុំ​គិត​ថា​មិន​យូរ​មិន​ឆាប់​នេះ​នឹង​ត្រូវ​បាន​សម្រេច។ បច្ចេកវិទ្យានេះនឹងអនុញ្ញាតឱ្យបង្កើតប្រព័ន្ធដែលមានអង្គចងចាំដែលបំបែក។ វាអាចរក្សាទុក 100 terabytes នៃ memory nonvolatile ក្នុង rack មួយ ហើយប្រព័ន្ធប្រតិបត្តិការខ្លួនឯងនឹងសម្រេចចិត្តយ៉ាងស្វាហាប់ថាតើផ្នែកណានៃ memory នោះគួរតែត្រូវគ្នានឹង space address របស់ processors ។ វានឹងមានប្រយោជន៍ខ្លាំងណាស់សម្រាប់ cloud computing ព្រោះថាវានឹងអនុញ្ញាតឱ្យមានអង្គចងចាំច្រើនត្រូវបានផ្តល់ទៅឱ្យកិច្ចការដែលត្រូវការវា។ ខ្ញុំគិតថានរណាម្នាក់នឹងធ្វើវា។

វីតាលី៖ ដើម្បីបញ្ចប់ការនិយាយអំពីអង្គចងចាំប្រតិបត្តិការ ខ្ញុំមានសំណួរមួយបន្ថែមទៀតលើប្រធានបទនេះ។ តើអង្គចងចាំប្រតិបត្តិការនៅទីបំផុតនឹងជំនួសរចនាសម្ព័ន្ធទិន្នន័យពហុខ្សែស្តង់ដារទេ?

ម៉ៃឃើល៖ ទេ។ ប្រតិបត្តិការគឺជាយន្តការប៉ាន់ស្មាន។ នៅកម្រិតនៃការសរសេរកម្មវិធីទាំងនេះគឺជាសោអាតូមិក ប៉ុន្តែនៅខាងក្នុងវាគឺជាការរំពឹងទុក។ ការព្យាករណ៍បែបនេះដំណើរការប្រសិនបើការទស្សន៍ទាយភាគច្រើនត្រឹមត្រូវ។ ហេតុដូច្នេះហើយ អង្គចងចាំប្រតិបត្តិការដំណើរការល្អនៅពេលដែលខ្សែស្រលាយពិបាកទាក់ទងគ្នាទៅវិញទៅមក ហើយអ្នកគ្រាន់តែត្រូវប្រាកដថាមិនមានអន្តរកម្ម។ ប៉ុន្តែ​ប្រសិនបើ​សារ​មួយ​ចាប់ផ្តើម​នៅ​ចន្លោះ​ខ្សែស្រឡាយ ប្រតិបត្តិការ​គឺ​មាន​ប្រយោជន៍​តិចតួច។ អនុញ្ញាតឱ្យខ្ញុំពន្យល់ យើងកំពុងនិយាយអំពីករណីនៅពេលដែលប្រតិបត្តិការត្រូវបានរុំជុំវិញប្រតិបត្តិការអាតូមិចទាំងមូល។ ពួកវានៅតែអាចប្រើដោយជោគជ័យជាសមាសធាតុសម្រាប់រចនាសម្ព័ន្ធទិន្នន័យពហុខ្សែ។ ឧទាហរណ៍ ប្រសិនបើអ្នកត្រូវការ CAS បីពាក្យ ហើយអ្នកត្រូវ multithread បីរឿងតូចនៅកណ្តាលនៃ multithreaded algorithm ពិតប្រាកដដែលធ្វើការជាមួយ XNUMX threads ក្នុងពេលតែមួយ។ ជាទូទៅ ប្រតិបត្តិការអាចមានប្រយោជន៍ ប៉ុន្តែពួកគេនឹងមិនលុបបំបាត់តម្រូវការក្នុងការរចនារចនាសម្ព័ន្ធទិន្នន័យពហុខ្សែឱ្យបានត្រឹមត្រូវនោះទេ។ 

អង្គចងចាំដែលមិនងាយនឹងបង្កជាហេតុ, Optane DIMM, ឧបករណ៍ដែលមានល្បឿនលឿនបំផុត។

វីតាលី៖ រឿងចុងក្រោយដែលខ្ញុំចង់និយាយគឺប្រធានបទនៃការស្រាវជ្រាវបច្ចុប្បន្នរបស់អ្នក៖ ការចងចាំដែលមិនងាយនឹងបង្កជាហេតុ។ តើយើងអាចរំពឹងអ្វីខ្លះនៅក្នុងតំបន់នេះនាពេលអនាគតដ៏ខ្លី? ប្រហែលជាអ្នកដឹងពីការអនុវត្តប្រកបដោយប្រសិទ្ធភាពដែលមានរួចហើយ? 

ម៉ៃឃើល៖ ខ្ញុំមិនមែនជាអ្នកជំនាញផ្នែក Hardware ទេ ខ្ញុំគ្រាន់តែដឹងពីអ្វីដែលខ្ញុំបានអាននៅក្នុងព័ត៌មាន និងអ្វីដែលមិត្តរួមការងាររបស់ខ្ញុំប្រាប់ខ្ញុំប៉ុណ្ណោះ។ អ្នក​រាល់​គ្នា​បាន​ឮ​ហើយ​ថា​ក្រុមហ៊ុន Intel លក់​ Optane DIMMដែលមាន 3 ដងនៃការអាន latency និង 10 ដងនៃការសរសេរ latency ជាង RAM ថាមវន្ត។ ពួកវានឹងមានក្នុងពេលឆាប់ៗនេះក្នុងកំណែទំហំធំ។ វាជាការគួរឱ្យអស់សំណើចដែលគិតថាអ្នកអាចមានកុំព្យូទ័រយួរដៃដែលមាន RAM ដែលអាចអាសយដ្ឋានបាន terabytes ជាច្រើន។ វាទំនងជាថាក្នុងរយៈពេល 10 ឆ្នាំយើងនឹងសម្រេចចិត្តប្រើបច្ចេកវិទ្យាថ្មីនេះ ដោយសារយើងប្រើ DRAM - គ្រាន់តែបង្កើនកម្រិតសំឡេងប៉ុណ្ណោះ។ ប៉ុន្តែដោយសារឯករាជ្យភាពថាមពល ឱកាសថ្មីទាំងស្រុងបើកសម្រាប់យើង។ យើង​អាច​ផ្លាស់​ប្តូ​រ​ជង់​ផ្ទុក​ជា​មូលដ្ឋាន ដើម្បី​កុំ​ឱ្យ​មាន​ការ​បំបែក​រវាង​អង្គ​ចងចាំ​ដំណើរការ​ដែល​អាច​អាសយដ្ឋាន​បៃ និង​អង្គ​ចងចាំ​ជាប់​មាន​រចនាសម្ព័ន្ធ​ប្លុក។ ដូច្នេះ យើងនឹងមិនចាំបាច់ធ្វើសៀរៀលអ្វីគ្រប់យ៉ាងដែលចាំបាច់ត្រូវផ្ទេរពីកម្មវិធីមួយដំណើរការទៅកម្មវិធីមួយទៀតទៅជាឯកសារដែលមានរចនាសម្ព័ន្ធប្លុកនោះទេ។ ពីនេះយើងអាចទាញយកគោលការណ៍សំខាន់ៗជាច្រើនដែលប៉ះពាល់ដល់ប្រព័ន្ធប្រតិបត្តិការ បរិស្ថានពេលដំណើរការ និងកន្លែងរក្សាទុកទិន្នន័យដែលបានចែកចាយ។ តំបន់នេះគួរឱ្យចាប់អារម្មណ៍ណាស់ក្នុងការធ្វើការ។ ដោយផ្ទាល់ វាជាការលំបាកសម្រាប់ខ្ញុំក្នុងការទស្សន៍ទាយពីអ្វីដែលវានឹងនាំទៅដល់ ប៉ុន្តែបញ្ហានៅទីនេះគឺគួរឱ្យរីករាយណាស់។ ប្រហែលជាមានការផ្លាស់ប្តូរបដិវត្តន៍នៅទីនេះ ហើយពួកគេធ្វើតាមធម្មជាតិពីការងារលើ multithreading ចាប់តាំងពីការបរាជ័យឡើងវិញគឺជាដំណើរការ "multithreading" នៅជាប់នឹងប្រតិបត្តិការធម្មតានៃប្រព័ន្ធ។ 

ប្រធានបទសំខាន់ទីពីរដែលខ្ញុំកំពុងធ្វើការនាពេលនេះគឺការគ្រប់គ្រងឧបករណ៍ដែលមានល្បឿនលឿនបំផុត និងការចូលប្រើឧបករណ៍ដែលមានសុវត្ថិភាពពីកន្លែងប្រើប្រាស់ជាមួយនឹងការគ្រប់គ្រងគោលការណ៍ជាប្រព័ន្ធ។ ក្នុងរយៈពេលប៉ុន្មានឆ្នាំថ្មីៗនេះ មាននិន្នាការដើម្បីផ្លាស់ទីការចូលប្រើឧបករណ៍ទៅកន្លែងប្រើប្រាស់។ នេះត្រូវបានធ្វើដោយសារតែជង់ខឺណែល TCP-IP មិនអាចដំណើរការនៅផ្នែកខាងលើនៃចំណុចប្រទាក់បណ្តាញដែលត្រូវការកញ្ចប់ព័ត៌មានថ្មីរៀងរាល់ 5 មីក្រូវិនាទីទេ វាគ្រាន់តែនឹងមិនបន្ត។ ដូច្នេះក្រុមហ៊ុនផលិតផ្តល់ការចូលប្រើដោយផ្ទាល់ទៅឧបករណ៍។ ប៉ុន្តែនេះមានន័យថាប្រព័ន្ធប្រតិបត្តិការបាត់បង់ការគ្រប់គ្រងដំណើរការហើយវាមិនអាចផ្តល់នូវការចូលដំណើរការត្រឹមត្រូវទៅកាន់ឧបករណ៍សម្រាប់កម្មវិធីប្រកួតប្រជែងនោះទេ។ ក្រុមស្រាវជ្រាវរបស់យើងជឿជាក់ថាការខ្វះខាតនេះអាចជៀសវាងបាន។ យើងនឹងមានអត្ថបទអំពីរឿងនេះនៅ USENIX ATC ក្នុងខែនេះ។ វាទាក់ទងទៅនឹងការងារលើការជាប់លាប់ ដោយសារអង្គចងចាំជាប់លាប់ដែលអាចគ្រប់គ្រងបានដោយបៃតដែលប្រើប្រាស់បានយូរគឺជាឧបករណ៍ដែលមាន I/O លឿនបំផុតដែលត្រូវការចូលប្រើក្នុងចន្លោះអ្នកប្រើប្រាស់។ ការស្រាវជ្រាវនេះបង្កើតវិធីសាស្រ្តថ្មីដែលអាចកើតមានចំពោះ microkernels, exokernels និងការប៉ុនប៉ងបែបប្រពៃណីផ្សេងទៀតដើម្បីផ្លាស់ទីមុខងារដោយសុវត្ថិភាពពីខឺណែល OS ទៅកន្លែងប្រើប្រាស់។ 

Владимир៖ អង្គចងចាំដែលអាចអាសយដ្ឋានបានបៃគឺអស្ចារ្យ ប៉ុន្តែមានដែនកំណត់រាងកាយ - ល្បឿននៃពន្លឺ។ នេះមានន័យថាវានឹងមានការពន្យាពេលដោយជៀសមិនរួចនៅពេលធ្វើអន្តរកម្មជាមួយឧបករណ៍។ 

ម៉ៃឃើល៖ ពិត​ជា​ត្រឹម​ត្រូវ។

Владимир៖ តើមានសមត្ថភាពគ្រប់គ្រាន់ដើម្បីទប់ទល់នឹងបន្ទុកថ្មីដែរឬទេ?

ម៉ៃឃើល៖ នេះ​ជា​សំណួរ​ដ៏​ល្អ​មួយ ប៉ុន្តែ​វា​នឹង​ពិបាក​សម្រាប់​ខ្ញុំ​ក្នុង​ការ​ឆ្លើយ។ គំនិតនៃដំណើរការនៅក្នុងអង្គចងចាំមានតាំងពីយូរយារណាស់មកហើយ វាគួរឱ្យចាប់អារម្មណ៍ណាស់ ប៉ុន្តែក៏ស្មុគស្មាញខ្លាំងផងដែរ។ ខ្ញុំ​មិន​បាន​ធ្វើ​ការ​នៅ​តំបន់​នេះ​ទេ ប៉ុន្តែ​វា​ជា​ការ​ល្អ​ប្រសិន​បើ​ការ​រក​ឃើញ​មួយ​ចំនួន​ត្រូវ​បាន​ធ្វើ​ឡើង​នៅ​ទីនោះ។ ខ្ញុំខ្លាចថាខ្ញុំគ្មានអ្វីត្រូវបន្ថែមទេ។ 

Владимир៖ មានបញ្ហាមួយទៀត។ ថ្មី បរិមាណ RAM ធំជាងនេះ នឹងមិនអាចសមនឹង CPU បានទេ។ ដូច្នេះ ដោយសារ​ការកំណត់​ផ្នែក​រាងកាយ RAM នេះ​ត្រូវតែ​ដាច់​ដោយឡែក។ 

ម៉ៃឃើល៖ វាទាំងអស់គឺអាស្រ័យលើចំនួននៃពិការភាពក្នុងការផលិតសៀគ្វីរួមបញ្ចូលគ្នា។ ប្រសិនបើវាអាចធ្វើទៅបានដើម្បីបង្កើត wafers semiconductor ទាំងស្រុងដោយគ្មានពិការភាពនោះវានឹងអាចធ្វើទៅបានដើម្បីធ្វើឱ្យ microcircuit ទាំងមូលចេញពីវា។ ប៉ុន្តែ​ឥឡូវ​នេះ យើង​មិន​ដឹង​ពី​របៀប​ធ្វើ​មីក្រូ​សៀគ្វី​ធំ​ជាង​ត្រា​ប្រៃសណីយ៍​ទេ។ 

Владимир៖ ប៉ុន្តែយើងនៅតែនិយាយអំពីទំហំដ៏ធំគឺប្រហែលសង់ទីម៉ែត្រ។ នេះជៀសមិនរួចប៉ះពាល់ដល់ភាពយឺតយ៉ាវ។ 

ម៉ៃឃើល៖ បាទ។ មិនមានអ្វីដែលអ្នកអាចធ្វើបានអំពីល្បឿននៃពន្លឺនោះទេ។ 

Владимир: ជាអកុសល។ 

និន្នាការធំបន្ទាប់។ រចនាសម្ព័ន្ធទិន្នន័យពីរ។ អ៊ីដ្រា។

វីតាលី៖ តាមខ្ញុំយល់ អ្នកចាប់បាននិន្នាការថ្មីយ៉ាងលឿន។ អ្នកគឺជាមនុស្សដំបូងគេដែលធ្វើការក្នុងអង្គចងចាំប្រតិបត្តិការ ហើយជាអ្នកដំបូងគេដែលធ្វើការក្នុងអង្គចងចាំដែលមិនងាយនឹងបង្កជាហេតុ។ តើអ្នកគិតថាអ្វីនឹងក្លាយជានិន្នាការធំបន្ទាប់? ឬប្រហែលជាវាជាអាថ៌កំបាំង?

ម៉ៃឃើល៖ និយាយឱ្យត្រង់ទៅ ខ្ញុំមិនដឹងទេ។ សង្ឃឹមថាខ្ញុំនឹងអាចកត់សម្គាល់នៅពេលដែលមានអ្វីថ្មីកើតឡើង។ ខ្ញុំមិនមានសំណាងគ្រប់គ្រាន់ក្នុងការបង្កើតវិស័យថ្មីដោយខ្លួនឯងទេ ប៉ុន្តែខ្ញុំមានសំណាងមួយចំនួន ហើយអាចចាប់ផ្តើមធ្វើការបានលឿនក្នុងវិស័យថ្មីដែលបង្កើតឡើងដោយអ្នកដទៃ។ ខ្ញុំ​សង្ឃឹម​ថា​ខ្ញុំ​នឹង​អាច​ធ្វើ​បែប​នេះ​នៅ​ពេល​អនាគត។

Алексей៖ សំណួរចុងក្រោយនៅក្នុងបទសម្ភាសន៍នេះនឹងនិយាយអំពីការសម្តែងរបស់អ្នកនៅ Hydra និងសកម្មភាពរបស់អ្នកនៅសាលា។ ប្រសិនបើខ្ញុំយល់បានត្រឹមត្រូវ របាយការណ៍នៅសាលានឹងនិយាយអំពីក្បួនដោះស្រាយគ្មានការទប់ស្កាត់ ហើយនៅក្នុងសន្និសីទអំពីរចនាសម្ព័ន្ធទិន្នន័យទ្វេ។ តើអ្នកអាចនិយាយពាក្យពីរបីអំពីរបាយការណ៍ទាំងនេះបានទេ?

ម៉ៃឃើល៖ ជា​ផ្នែក​មួយ យើង​បាន​ប៉ះ​លើ​ប្រធាន​បទ​ទាំង​នេះ​រួច​ហើយ​ជាមួយ​អ្នក​ក្នុង​បទ​សម្ភាស​នេះ។ វានិយាយអំពីការងារដែលខ្ញុំបានធ្វើជាមួយសិស្សរបស់ខ្ញុំ Bill Scherer ។ គាត់បានសរសេរនិក្ខេបបទមួយនៅលើវា ហើយ Doug Lee ក៏បានរួមចំណែកដល់វា ហើយទីបំផុតវាបានក្លាយជាផ្នែកមួយនៃជួរធ្វើសមកាលកម្មពហុខ្សែនៅក្នុងបណ្ណាល័យ Java ។ ចូរសន្មត់ថារចនាសម្ព័ន្ធទិន្នន័យត្រូវបានអាន និងសរសេរដោយគ្មានការទប់ស្កាត់ ពោលគឺប្រតិបត្តិការនីមួយៗមានការណែនាំចំនួនកំណត់នៅលើផ្លូវសំខាន់។ ប្រសិនបើអ្នកព្យាយាមយកទិន្នន័យចេញពីកុងតឺន័រទទេ ឬព្យាយាមលុបទិន្នន័យជាក់លាក់ដែលមិនមាននៅក្នុងធុងនេះ អ្នកត្រូវបានជូនដំណឹងភ្លាមៗថាវាមិនអាចធ្វើបានទេ។ ប៉ុន្តែឥរិយាបថនេះប្រហែលជាមិនអាចទទួលយកបានទេ ប្រសិនបើខ្សែស្រឡាយពិតជាត្រូវការទិន្នន័យនេះ។ បន្ទាប់មករឿងដំបូងដែលចូលមកក្នុងគំនិតគឺបង្កើតរង្វិលជុំដែលនឹងសួរជានិច្ចថាតើទិន្នន័យចាំបាច់បានបង្ហាញខ្លួនដែរឬទេ។ ប៉ុន្តែបន្ទាប់មកមានការជ្រៀតជ្រែកសម្រាប់មនុស្សគ្រប់គ្នា។ លើសពីនេះទៀតជាមួយនឹងវិធីសាស្រ្តនេះអ្នកអាចរង់ចាំ 10 នាទីហើយបន្ទាប់មកខ្សែស្រឡាយមួយចំនួនផ្សេងទៀតនឹងមកដល់ហើយវានឹងទទួលបានទិន្នន័យចាំបាច់ជាមុនដោយចៃដន្យ។ រចនាសម្ព័ន្ធទិន្នន័យពីរនៅតែមិនមានសោ ប៉ុន្តែពួកវាអនុញ្ញាតឱ្យខ្សែស្រឡាយរង់ចាំឱ្យបានត្រឹមត្រូវ។ ពាក្យ "ទ្វេ" មានន័យថារចនាសម្ព័ន្ធមានទាំងទិន្នន័យ ឬសំណើទិន្នន័យ ចូរយើងហៅពួកគេថាប្រឆាំងទិន្នន័យ។ ដូច្នេះ ប្រសិនបើអ្នកព្យាយាមទាញយកអ្វីមួយពីកុងតឺន័រទទេ សំណើនឹងត្រូវបានដាក់ចូលទៅក្នុងកុងតឺន័រជំនួសវិញ។ ឥឡូវនេះ ខ្សែស្រឡាយអាចរង់ចាំការស្នើសុំដោយមិនរំខាននរណាម្នាក់ផ្សេងទៀត។ លើសពីនេះ រចនាសម្ព័ន្ធទិន្នន័យផ្តល់អាទិភាពដល់សំណើ ដូច្នេះនៅពេលដែលបានទទួល វាបញ្ជូនពួកគេទៅមនុស្សត្រឹមត្រូវ។ លទ្ធផលគឺយន្តការមិនចាក់សោរដែលនៅតែមានការបញ្ជាក់ជាផ្លូវការ និងដំណើរការល្អក្នុងការអនុវត្ត។ 

Алексей៖ តើ​អ្វី​ជា​ការ​រំពឹង​ទុក​របស់​អ្នក​ពី​រចនាសម្ព័ន្ធ​ទិន្នន័យ​នេះ? តើវានឹងធ្វើឱ្យប្រសើរឡើងនូវការអនុវត្តនៅក្នុងករណីទូទៅទាំងអស់ ឬតើវាប្រសើរជាងសម្រាប់ស្ថានភាពជាក់លាក់ដែរឬទេ? 

ម៉ៃឃើល៖ វាមានប្រយោជន៍ប្រសិនបើដំបូង អ្នកត្រូវការកុងតឺន័រដោយមិនចាក់សោ ហើយទីពីរ អ្នកត្រូវរង់ចាំក្នុងស្ថានភាពដែលអ្នកត្រូវការទាញយកទិន្នន័យពីកុងតឺន័រដែលមិនមាននៅក្នុងនោះ។ តាមចំណេះដឹងរបស់ខ្ញុំ ក្របខណ្ឌរបស់យើងផ្តល់នូវឥរិយាបទល្អបំផុត នៅពេលដែលលក្ខខណ្ឌទាំងពីរនេះត្រូវបានបំពេញ។ ដូច្នេះក្នុងករណីទាំងនេះខ្ញុំសូមណែនាំឱ្យប្រើវា។ អត្ថប្រយោជន៍ចម្បងនៃរចនាសម្ព័ន្ធទិន្នន័យគ្មានសោគឺថាពួកគេជៀសវាងបញ្ហាក្នុងការអនុវត្ត។ ហើយការរង់ចាំគឺមានសារៈសំខាន់ខ្លាំងណាស់នៅក្នុងក្បួនដោះស្រាយជាច្រើនប្រសិនបើទិន្នន័យត្រូវបានផ្ទេរពីខ្សែស្រឡាយមួយទៅខ្សែមួយទៀត។

វីតាលី៖ ខ្ញុំ​សូម​បញ្ជាក់៖ តើ​អ្នក​នឹង​និយាយ​រឿង​ដូចគ្នា​ទាំង​នៅ​សាលា និង​ក្នុង​សន្និសីទ​ដែរ​ឬ​ទេ?

ម៉ៃឃើល: នៅ​សាលា ខ្ញុំ​និង​និយាយ ជាទូទៅអំពីរចនាសម្ព័ន្ធទិន្នន័យពហុខ្សែ ដោយមានគោលការណ៍ជាមូលដ្ឋានដែលបានរៀបរាប់នៅដើមមេរៀន។ ខ្ញុំសន្មត់ថាទស្សនិកជនដឹងពីអ្វីដែលជាខ្សែស្រឡាយ និងស៊ាំជាមួយសោ។ ដោយផ្អែកលើចំណេះដឹងជាមូលដ្ឋាននេះ ខ្ញុំនឹងនិយាយអំពីរចនាសម្ព័ន្ធទិន្នន័យដែលគ្មានការចាក់សោ។ ខ្ញុំនឹងផ្តល់ទិដ្ឋភាពទូទៅនៃបញ្ហាសំខាន់បំផុតនៅក្នុងតំបន់នេះ ដោយប៉ះលើប្រធានបទដូចជាការគ្រប់គ្រងអង្គចងចាំជាដើម។ ខ្ញុំ​មិន​គិត​ថា​នឹង​មាន​អ្វី​ស្មុគស្មាញ​ជាង​ជួរ MS ទេ។

Алексей៖ តើអ្នកមានគម្រោងបង្រៀនអំពីរចនាសម្ព័ន្ធទិន្នន័យពីរនៅចុងបញ្ចប់នៃថ្នាក់រៀនរបស់អ្នកទេ?

ម៉ៃឃើល៖ ខ្ញុំនឹងរៀបរាប់ពួកគេ ប៉ុន្តែខ្ញុំនឹងមិនចំណាយពេលច្រើនលើពួកគេទេ។ របាយការណ៍ Hydra នឹងត្រូវបានឧទ្ទិសដល់ពួកគេ។ វានឹងគ្របដណ្តប់លើគម្រោងដែលទីបំផុតបានបង្កើតវាទៅជា Java ក៏ដូចជាធ្វើការជាមួយ Joe Israelevich ដើម្បីបង្កើតវ៉ារ្យ៉ង់ពីរនៃជួរ LCRQ និងបង្កើតការរចនាសកលសម្រាប់រចនាសម្ព័ន្ធទិន្នន័យពីរ។

Алексей: ដូច្នេះការបង្រៀននៅសាលាអាចត្រូវបានណែនាំសម្រាប់អ្នកចាប់ផ្តើមដំបូង ហើយការបង្រៀនអំពីរចនាសម្ព័ន្ធទិន្នន័យទ្វេនៅលើ Hydra - សម្រាប់មនុស្សដែលមានបទពិសោធន៍ខ្លះហើយ?

ម៉ៃឃើល៖ សូមកែតម្រូវប្រសិនបើខ្ញុំខុស ប៉ុន្តែទស្សនិកជននៅ Hydra នឹងមានភាពចម្រុះណាស់ រួមទាំងអ្នកជំនាញ Java ជាច្រើន និងមនុស្សទូទៅដែលមិនពាក់ព័ន្ធជាពិសេសក្នុងការសរសេរកម្មវិធីពហុខ្សែ។ 

វីតាលី: បាទ​វា​គឺ​ជា​ការ​ពិត។

Алексей៖ យ៉ាង​ហោច​ណាស់​យើង​សង្ឃឹម​ដូច្នេះ។

ម៉ៃឃើល៖ ក្នុងករណីនេះ ខ្ញុំនឹងប្រឈមមុខនឹងបញ្ហាដូចគ្នាដែលយើងបានចាប់ផ្តើមកិច្ចសម្ភាសន៍នេះ៖ របៀបបង្កើតរបាយការណ៍ទាំងលម្អិតបច្ចេកទេសគ្រប់គ្រាន់ និងអាចចូលដំណើរការបានសម្រាប់អ្នកស្តាប់ទាំងអស់។

វីតាលី៖ តើអ្នកនឹងផ្តល់របាយការណ៍ដូចដែលអ្នកផ្តល់ការបង្រៀនដែរឬទេ? នោះគឺនិយាយជាមួយទស្សនិកជនហើយសម្របខ្លួនទៅនឹងស្ថានភាព?

ម៉ៃឃើល៖ ខ្ញុំ​ខ្លាច​ថា​វា​នឹង​មិន​ដំណើរការ​បែប​នោះ​ទេ ព្រោះ​របាយការណ៍​នឹង​មាន​ស្លាយ។ ស្លាយមានសារៈសំខាន់នៅពេលអ្នកស្តាប់ដំបូងនិយាយភាសាផ្សេងៗ។ មនុស្សជាច្រើននឹងពិបាកយល់ខ្ញុំជាភាសាអង់គ្លេស ជាពិសេសប្រសិនបើខ្ញុំនិយាយលឿនពេក។ ខ្ញុំបានជ្រើសរើសប្រធានបទទាំងនេះដោយសារតែ Peter Kuznetsov បានស្នើឱ្យខ្ញុំនិយាយអំពីរចនាសម្ព័ន្ធទិន្នន័យគ្មានសោនៅសាលា SPTDC ។ ហើយបន្ទាប់មកខ្ញុំត្រូវការរបាយការណ៍សម្រាប់សន្និសីទក្រុមអ្នកប្រើប្រាស់ Java ហើយខ្ញុំចង់ជ្រើសរើសអ្វីមួយដែលចាប់អារម្មណ៍ជាពិសេសសម្រាប់អ្នកសរសេរកម្មវិធី Java ។ មធ្យោបាយងាយស្រួលបំផុតគឺនិយាយអំពីរឿងទាំងនោះនៅក្នុងបណ្ណាល័យ Java ដែលខ្ញុំមានដៃក្នុងមធ្យោបាយមួយឬផ្សេងទៀត។ 

Алексей៖ យើងសន្មត់ថាទស្សនិកជននៅលើ Hydra បានដឹងរួចមកហើយអំពីកម្មវិធីដែលគ្មានការចាក់សោ ហើយប្រហែលជាមានបទពិសោធន៍ខ្លះនៅក្នុងតំបន់នេះ។ ប៉ុន្តែនេះគ្រាន់តែជាការសន្មត់ប៉ុណ្ណោះ ស្ថានភាពនឹងកាន់តែច្បាស់នៅក្នុងសន្និសិទខ្លួនឯង។ ទោះយ៉ាងណាក៏ដោយ អរគុណសម្រាប់ពេលវេលារបស់អ្នក។ ខ្ញុំ​ប្រាកដ​ថា​បទ​សម្ភាសន៍​នឹង​មាន​ការ​ចាប់​អារម្មណ៍​ខ្លាំង​សម្រាប់​អ្នក​អាន​របស់​យើង។ អរគុណច្រើន!

វីតាលី៖ សូមអរគុណ។ 

ម៉ៃឃើល៖ ខ្ញុំនឹងរីករាយដែលបានជួបអ្នកនៅសាំងពេទឺប៊ឺគ។ 

Алексей៖ យើង​ក៏​មាន​ទីក្រុង​ដ៏​ស្រស់​ស្អាត​មួយ​ដែរ។ តើអ្នកធ្លាប់នៅទីនេះទេ?

ម៉ៃឃើល៖ ទេ ខ្ញុំមិនដែលទៅរុស្ស៊ីទាល់តែសោះ។ ប៉ុន្តែសាំងពេទឺប៊ឺគតែងតែស្ថិតនៅក្នុងបញ្ជីកន្លែងដែលខ្ញុំមិនទាន់បានទៅ ប៉ុន្តែកន្លែងដែលខ្ញុំពិតជាចង់ទៅ ដូច្នេះខ្ញុំសប្បាយចិត្តខ្លាំងណាស់ចំពោះការអញ្ជើញ។ 

Алексей៖ ដោយវិធីនេះ យើងនឹងមានកម្មវិធីដំណើរកំសាន្តសម្រាប់អ្នកនិយាយ។ អរគុណច្រើនសម្រាប់ការសម្ភាសន៍ ហើយមានថ្ងៃល្អ!

អ្នកអាចបន្តការសន្ទនារបស់អ្នកជាមួយ Michael នៅសន្និសីទ Hydra 2019 ដែលនឹងធ្វើឡើងនៅថ្ងៃទី 11-12 ខែកក្កដា ឆ្នាំ 2019 នៅ St. គាត់នឹងមកជាមួយរបាយការណ៍ "រចនាសម្ព័ន្ធទិន្នន័យពីរ". សំបុត្រអាចទិញបាន។ នៅលើគេហទំព័រផ្លូវការ.

ប្រភព: www.habr.com

បន្ថែមមតិយោបល់