పాప్‌కార్న్ Linux కెర్నల్ కోసం పంపిణీ చేయబడిన థ్రెడ్ ఎగ్జిక్యూషన్ సిస్టమ్‌ను అభివృద్ధి చేస్తోంది.

వర్జీనియా టెక్ అతను ఇచ్చింది Linux కెర్నల్ డెవలపర్‌ల ద్వారా చర్చ కోసం, పంపిణీ చేయబడిన థ్రెడ్ ఎగ్జిక్యూషన్ సిస్టమ్ అమలుతో కూడిన ప్యాచ్‌ల సమితి పేలాలు (డిస్ట్రిబ్యూటెడ్ థ్రెడ్ ఎగ్జిక్యూషన్), ఇది హోస్ట్‌ల మధ్య థ్రెడ్‌ల పంపిణీ మరియు పారదర్శక మైగ్రేషన్‌తో అనేక కంప్యూటర్‌లలో అప్లికేషన్‌ల అమలును నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది. పాప్‌కార్న్‌తో, అప్లికేషన్‌లు ఒక హోస్ట్‌లో ప్రారంభించబడతాయి మరియు అంతరాయం లేకుండా మరొక హోస్ట్‌కి తరలించబడతాయి. మల్టీథ్రెడ్ ప్రోగ్రామ్‌లలో, ఇతర హోస్ట్‌లకు వ్యక్తిగత థ్రెడ్‌ల తరలింపు అనుమతించబడుతుంది.

ప్రాజెక్ట్ కాకుండా CRIUప్రాసెస్ స్థితిని సేవ్ చేయడానికి మరియు మరొక సిస్టమ్‌లో అమలు చేయడానికి అనుమతించడం ద్వారా, పాప్‌కార్న్ అప్లికేషన్ ఎగ్జిక్యూషన్ సమయంలో హోస్ట్‌ల మధ్య అతుకులు మరియు డైనమిక్ మైగ్రేషన్‌ను అందిస్తుంది, వినియోగదారు చర్య అవసరం లేదు మరియు ఏకకాల థ్రెడ్‌లను అమలు చేసే అన్ని హోస్ట్‌లలో వర్చువల్ మెమరీ అనుగుణ్యతను నిర్ధారిస్తుంది.

పాప్‌కార్న్ సాఫ్ట్‌వేర్ స్టాక్ రూపం పాచెస్ Linux కెర్నల్‌కు మరియు లైబ్రరీ పంపిణీ చేయబడిన అప్లికేషన్‌లలో థ్రెడ్‌లను తరలించడానికి పాప్‌కార్న్ సిస్టమ్ కాల్‌లను ఎలా ఉపయోగించవచ్చో ప్రదర్శించే పరీక్షలతో. కెర్నల్ స్థాయిలో, పంపిణీ చేయబడిన భాగస్వామ్య మెమరీ అమలుతో వర్చువల్ మెమరీ సబ్‌సిస్టమ్‌కు పొడిగింపులు ప్రతిపాదించబడ్డాయి, ఇది వివిధ హోస్ట్‌లలోని ప్రక్రియలను సాధారణ మరియు స్థిరమైన వర్చువల్ చిరునామా స్థలాన్ని యాక్సెస్ చేయడానికి అనుమతిస్తుంది. వర్చువల్ మెమరీ పేజీ పొందిక అనేది ప్రోటోకాల్ ద్వారా నిర్ధారిస్తుంది, ఇది మెమరీ పేజీలను చదివినప్పుడు హోస్ట్‌కు పునరావృతం చేస్తుంది మరియు వ్రాసినప్పుడు మెమరీ పేజీలను చెల్లదు.

TCP సాకెట్ ద్వారా ప్రసారం చేయబడిన సందేశాల కోసం కెర్నల్-స్థాయి హ్యాండ్లర్‌ని ఉపయోగించి హోస్ట్‌ల మధ్య పరస్పర చర్య జరుగుతుంది. అభివృద్ధి ప్రక్రియలో డీబగ్గింగ్ మరియు టెస్టింగ్‌ను సులభతరం చేయడానికి TCP/IP ఉపయోగించబడుతుందని గుర్తించబడింది. భద్రత మరియు పనితీరు దృక్కోణం నుండి, కెర్నల్ నిర్మాణాలు మరియు మెమరీ పేజీల కంటెంట్‌లను హోస్ట్‌ల మధ్య బదిలీ చేయడానికి TCP/IP ఉత్తమ మార్గం కాదని డెవలపర్‌లు అర్థం చేసుకున్నారు. పంపిణీ చేయబడిన అప్లికేషన్‌లను అమలు చేస్తున్న అన్ని హోస్ట్‌లు తప్పనిసరిగా ఒకే స్థాయి విశ్వాసాన్ని కలిగి ఉండాలి. ప్రధాన అల్గారిథమ్‌ల స్థిరీకరణ తర్వాత, మరింత సమర్థవంతమైన రవాణా విధానం ఉపయోగించబడుతుంది.

పాప్‌కార్న్ 2014 నుండి పంపిణీ చేయబడిన అప్లికేషన్‌లను సృష్టించే అవకాశాలను అధ్యయనం చేయడానికి పరిశోధన ప్రాజెక్ట్‌గా అభివృద్ధి చేయబడింది, వీటిలో థ్రెడ్‌లను వివిధ నోడ్‌లలో అమలు చేయవచ్చు విజాతీయమైన వివిధ ఇన్‌స్ట్రక్షన్ సెట్ ఆర్కిటెక్చర్‌ల (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA) ఆధారంగా కోర్‌లను కలపగల కంప్యూటింగ్ సిస్టమ్‌లు. Linux కెర్నల్ డెవలపర్‌లకు ప్రతిపాదించబడిన ప్యాచ్‌ల సెట్ x86 CPUతో హోస్ట్‌లపై అమలు చేయడానికి మాత్రమే మద్దతు ఇస్తుంది, అయితే పాప్‌కార్న్ Linux యొక్క మరింత ఫంక్షనల్ వెర్షన్ కూడా ఉంది, ఇది వివిధ CPU ఆర్కిటెక్చర్‌లతో (x86 మరియు ARM) హోస్ట్‌లపై అప్లికేషన్‌లను అమలు చేయడానికి అనుమతిస్తుంది. వైవిధ్య వాతావరణంలో పాప్‌కార్న్‌ని ఉపయోగించడానికి, మీరు తప్పనిసరిగా ప్రత్యేకతను ఉపయోగించాలి కంపైలర్ LLVM ఆధారంగా. అదే ఆర్కిటెక్చర్‌తో హోస్ట్‌లపై పంపిణీ చేయబడినప్పుడు, ప్రత్యేక కంపైలర్‌తో పునర్నిర్మాణం అవసరం లేదు.

పాప్‌కార్న్ Linux కెర్నల్ కోసం పంపిణీ చేయబడిన థ్రెడ్ ఎగ్జిక్యూషన్ సిస్టమ్‌ను అభివృద్ధి చేస్తోంది.

అదనంగా, ఇది గమనించవచ్చు ప్రకటన కొంతవరకు ఇదే ప్రాజెక్ట్ టెలిఫోర్క్ క్లస్టర్‌లోని ఇతర కంప్యూటర్‌లలో చైల్డ్ ప్రాసెస్‌లను ప్రారంభించడం కోసం ప్రారంభ ప్రోటోటైప్ API అమలుతో (ఫోర్క్( వంటివి), కానీ ఫోర్క్డ్ ప్రాసెస్‌ను మరొక కంప్యూటర్‌కు బదిలీ చేస్తుంది.
కోడ్ రస్ట్‌లో వ్రాయబడింది మరియు ఇప్పటివరకు ఫైల్‌ల వంటి సిస్టమ్ వనరులను ఉపయోగించని చాలా సులభమైన ప్రక్రియల క్లోనింగ్‌ను మాత్రమే అనుమతిస్తుంది. టెలిఫోర్క్ కాల్ చేసినప్పుడు, మెమరీ మరియు ప్రాసెస్-సంబంధిత నిర్మాణాలు సర్వర్ హ్యాండ్లర్ (టెలిప్యాడ్)ని నడుపుతున్న మరొక హోస్ట్‌కు క్లోన్ చేయబడతాయి. ptraceని ఉపయోగించి, ప్రాసెస్ యొక్క మెమరీ ప్రతిబింబం క్రమీకరించబడుతుంది మరియు ప్రక్రియ యొక్క స్థితి మరియు రిజిస్టర్‌లతో పాటు మరొక హోస్ట్‌కు బదిలీ చేయబడుతుంది. API మిమ్మల్ని ఫైల్‌కి ప్రాసెస్ స్థితిని సేవ్ చేయడానికి మరియు దాని ద్వారా దాన్ని పునరుద్ధరించడానికి కూడా అనుమతిస్తుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి