లీకీ సెమీకోలాన్
Author
Venue
ACM ప్రోగ్రామింగ్ లాంగ్వేజెస్ 2021 యొక్క పత్రాల సంకలనం
Abstract
ప్రోగ్రామ్ లాజిక్స్ మరియు సెమాంటిక్స్ సీక్వెన్షియల్ కంపోజిషన్ గురించి ఒక ఆహ్లాదకరమైన కథను చెబుతాయి: (S1; S2) ను ఎగ్జిక్యూట్ చేస్తున్నప్పుడు, మనం మొదట S1, ఆ తర్వాత S2 ను ఎగ్జిక్యూట్ చేస్తాము. అయితే, పనితీరును మెరుగుపరచడానికి, ప్రాసెసర్లు సూచనలను క్రమం తప్పకుండా (out of order) ఎగ్జిక్యూట్ చేస్తాయి, మరియు కంపైలర్లు ప్రోగ్రామ్లను మరింత నాటకీయంగా పునఃక్రమం (reorder) చేస్తాయి. రూపకల్పన ప్రకారం, సింగిల్-థ్రెడెడ్ సిస్టమ్లు ఈ పునఃక్రమణలను గమనించలేవు; అయితే, మల్టిపుల్-థ్రెడెడ్ సిస్టమ్లు గమనించగలవు, ఇది కథను గణనీయంగా ఆహ్లాదకరం కాకుండా చేస్తుంది. ఫలితంగా ఏర్పడిన గందరగోళాన్ని అర్థం చేసుకోవడానికి చేసే ఒక అధికారిక ప్రయత్నాన్ని "రిలాక్స్డ్ మెమరీ మోడల్" అని అంటారు. మునుపటి మోడళ్లు క్రమానుగత కూర్పును నేరుగా పరిష్కరించడంలో విఫలమవుతాయి, లేదా ప్రాసెసర్లు మరియు కంపైలర్లను అతిగా పరిమితం చేస్తాయి, లేదా ఆచరణలో గమనించలేని అర్థంలేని, అకస్మాత్తుగా కనిపించే ప్రవర్తనలను అనుమతిస్తాయి. ఆధునిక హార్డ్వేర్ను లక్ష్యంగా చేసుకుంటూ క్రమానుగత కూర్పుకు మద్దతు ఇవ్వడానికి, మేము ప్రాథిపదికలు మరియు ప్రిడికేట్ ట్రాన్స్ఫార్మర్ల కుటుంబాలతో ప్రామాణిక ఈవెంట్-ఆధారిత విధానాన్ని మరింత మెరుగుపరుస్తాము. (S1;S2) యొక్క అర్థాన్ని లెక్కించేటప్పుడు, S2 నుండి ఒక ఈవెంట్ e యొక్క ప్రీకండిషన్కు వర్తించే ప్రెడికేట్ ట్రాన్స్ఫార్మర్, e ఆధారపడిన S1లోని ఈవెంట్ల సమితి ఆధారంగా ఎంచుకోబడుతుంది. మేము ఈ విధానాన్ని రెండు ఇప్పటికే ఉన్న మెమరీ మోడల్స్కు వర్తింపజేస్తాము.
