




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE
1
JavaV.S.PythoninAI
FinalMasterThesis–HighPerformanceComputing
MasterinInnovationandResearchinInformaticsFacultatd’inform`aticadeBarcelonaUniversitatPolit`ecnicadeCatalunya
Author:
MarcoM.AguadoAcevedo
marcoaguado95@
Supervisors:MarisaGilGómez
marisa.gil@
October28,2021
PAGE
10
Acknowledgements
Firstandforemost,IwouldliketousethissectiontothankprofessorMarisaGilfortheopportunityshegavetometoworkonthisinterestingproject.
IwouldalsoliketothankprofessorXavierforprovidingmeaccesstotheCTE-ARMsystemoftheBSCandforprovidingadviceregardingtheanalysisandtheexecutionprocess.
NotonlydoIwanttoexpressmygratitudetowardsthemfortheunconditionalsupport,butalsofortheirpatienceandkindness.
Icannotendthisnotewithoutthankingmywholefamily,especiallymyparentsandaunt,whosup-portedmethroughoutnotonlymyacademiccareerbutalsomylife.
Abstract
Java’spositionasanappealingprogramminglanguagefordevelopingAIsoftwareisnotclearinthecurrentresearcharea.Itiswell-stablishedthatotherprogramminglanguagessuchasPythonhavegrowninpopularityintheAIresearchcommunityasaneasytolearn,easytouseandsimplecodetooloverthemorestrictandcomplexlanguagessuchasJava.Also,withtheincreaseinthenumberofprocessorswithARMarchitectureusedforserverpurposesduetotheirbetterenergyefficiency,theinterestintheirperformanceforspecificresearchareasalsoincreases.Thisthesisaimstoprovideanobjectiveandup-to-dateviewofJava’scurrentsituationinthisareabycomparingitwithPythonbothintermsofthecodingprocessandtheirperformance.
TotestifJavacouldprovemorevaluetoresearchersthanPython,asetofrepresentativeAIalgorithmswereimplementedinbothlanguagesusingthenowadaysmostusedlibraries:WekaforJavaandScikit-learn,PandasandNumpyforPythonandexecutedintwodifferentmachinesfromtheMareNostrum4system:TheIntelmachinewithx86architectureprocessorsandtheCTE-ARMmachinewithARMarchitectureprocessorsusing4differentdatasetswithitsowncharacteristicsandsizes.
TheresultsobtainedshowthatJavaperformsworsethanPythoninalmostallthetestsbyhavinghigherexecutiontimesandworsememorymanagementwhiletheimpactofusingamachinewithanARMprocessorisminimalalthoughingeneralitperformsbetterthanx86processor,especiallywhencomparingJava’sperformanceinbothmachines.
TheseresultssuggestthatJavadoesnotprovideenoughvaluetobecauseamoresuitableprogramminglanguagethanPythonforAIresearchersastheobtainedperformancedoesnotcompensatetheextraeffortbothinlearningtimeandcodingtimeJavarequirestoimplementprogramsthatsolvetheexactsameproblems.
Keywords:Java,Python,ArtificialIntelligence,ARM,performance,code
Index
Introduction 8
Stateoftheart 8
Proposal 9
Objectives 10
Methodology 11
StudyoftheexistingandmostrepresentativealgorithmsintheAI 11
Regression 11
Classification 12
StudyoftheavailableHardwaresystems 16
StudyofJavaandPythonprograminglanguages 16
Java 16
Python 19
Studyofthecharacteristicsandmetricstocompare 20
Code 20
Performance 21
StudyandresearchofexistingAIlibraries 21
Python 21
Java 24
Studyandresearchofpossiblemonitoringtools 25
Python 25
Java 26
Systemprovidedtools 26
Implementationofthecodeandpreparationofdata 28
Implementationofthealgorithms 28
Datasetselectionandpreprocessing 28
Experimentaldesignandset-up 33
Filesystemstructure 33
Compilation 35
Execution 36
Datacollection 37
Keyresultsobtainedinthestudy 38
Thecode 38
Theperformance 40
JavaandPythoninx86 40
Javainx86andARM 43
Pythoninx86andARM 46
JavaandPythoninARM 49
Conclusions 52
Futurework 53
Multithreading 53
Usingmorefeaturesofthelibrariesprovidedalgorithms 53
BSCtools 53
Furtherstudyofthecodingprocess 53
Otherprogramminglanguages 53
References 54
Listoffigures
Figure1:Logisticfunctionandgraphicalinterpretation 12
Figure2:HyperplanegeneratedbyaSVM 13
Figure3:DecisionTreerepresentingeachofthenodes 13
Figure4:GraphicalexampleofaKNNvotingprocess 14
Figure5:NaïveBayesrepresentationwherethealgorithmfindscommonfeatures 15
Figure6:Randomforestcomposedby9decisiontreesvotingtheclassresult. 15
Figure7:Javaarchitecturestructure 17
Figure8:JavaVirtualMachinecomponents 18
Figure9:Pythonexecutionprocess 20
Figure10:NumPylogo 22
Figure11:Pandaslogo 22
Figure12:Pandasdatastructures 23
Figure13:Scikit-Learnlogo 23
Figure14:WekaGUI 24
Figure15:Pythonprofilerexample 25
Figure16:JMXinterface 26
Figure17:SLURMlogo 27
Figure18:Sacctstatistics 27
Figure19:CSVrepresentationofadataset 31
Figure20 32
Figure21:Arfffilestructureexample 32
Figure22:GraphicalrepresentationofJavaandPython’sexecutiontimeinMareNostrum4Intel
machine 41
Figure23:GraphicalrepresentationofJavaandPython’sCPUefficiencyinMareNostrum4Intel
machine 41
Figure24:GraphicalrepresentationofJavaandPython’smemoryconsumptioninMareNostrum4
Intelmachine 43
Figure25:GraphicalrepresentationofJava’sexecutiontimeinbothMareNostrum4IntelandCTE-
ARMmachines 44
Figure26:GraphicalrepresentationofJava’sCPUefficiencyinbothMareNostrum4IntelandCTE-
ARMmachines 44
Figure27:GraphicalrepresentationofJava’smemoryconsumptioninbothMareNostrum4Inteland
CTE-ARMmachinesexcludingLinearregression 45
Figure28:GraphicalrepresentationofJava’sLinearregressionmemoryconsumptioninboth
MareNostrum4IntelandCTE-ARMmachines 46
Figure29:GraphicalrepresentationofPython’sExecutiontimeinbothMareNostrum4IntelandCTE-
ARMmachines 47
Figure30:GraphicalrepresentationofPython’sCPUefficiencyinbothMareNostrum4IntelandCTE-
ARMmachines 47
Figure31:GraphicalrepresentationofPython’sLinearregressionmemoryconsumptioninboth
MareNostrum4IntelandCTE-ARMmachines 48
Figure32:GraphicalrepresentationofPython’sNaïveBayesmemoryconsumptioninboth
MareNostrum4IntelandCTE-ARMmachines 48
Figure33:GraphicalrepresentationofJavaandPython’sexecutiontimeinMareNostrum4CTE-ARM
machine 49
Figure34:GraphicalrepresentationofJavaandPython’sCPUefficiencyinMareNostrum4CTE-ARM
machine 50
Figure35:GraphicalrepresentationofJavaandPython’sLinearregressionmemoryconsumptionin
MareNostrum4CTE-ARMmachine 51
Figure36:GraphicalrepresentationofJavaandPython’sNaïveBayesmemoryconsumptionin
MareNostrum4CTE-ARMmachine 51
Introduction
Stateoftheart
Overtheyears,theAItechnologieshavetakenabiggerpartinourlives.FromlanguagerecognitiontothemostadvancedautonomouscarsarepossiblethankstotherecentresearchofnewandmoreefficientAIalgorithms.ArtificialIntelligenceisapopulartopicin21stcentury,itisoneoftheadvancedresearchfieldsofcomputersciences.TheworkofAIbeganformallysoonafterWorldWarII,andtheword”ArtificialIntelligence”wasputforwardbyStanfordprofessorJohnMcCarthyin1956onDartmouthworkshop.TheareaofAIresearchgoesfurtherstill,itaimsnotonlyexistsinthetheoriesbutalsotocreateentities,whichincludesasignificantvarietyofsubfield,scalingfromuniversal(studyingandfeeling)toparticular,suchasplayingchess,diagnosingdiseases,writingpoetry,drivingvehiclesandproofofmathematicaltheorems.WiththetechnologiesofAIevolvingswiftly,itscapabilitiesarebeingappliedinallaspectsofsociety.
SelectingtheappropriateprograminglanguageisanimportanttaskforAIconstruction.Therearediverseandgeneraloptionssuchaspython,C++andLISP.CurrentlyPythonisoneofthemostpopularprogramminglanguagesforAIdevelopersduetothesimplicityofitscodeandthepowerfulAIlibrariesdevelopedbythecommunitysuchasPandas,NumpyorScikit-learn.Nevertheless,JavaplaysanimportantroleinAIprogramming.Javaisthemostwidelyusedprogramminglanguageintheworld,itisobject-orientedandscalable,whichisnecessaryforAIprojects.GiganticJavacodebasesareexploitedbypublicandprivateorganizationsandsectors,andtheJavaVirtualMachineasacomputeenvironmentisheavilyrelied(Georges,etal.,2006).JavaVirtualMachineallowsdeveloperstobuildasingleapplicationversionthatcouldrunonallJava-enabledcomputingplatforms.Maintainability,portabilityandtransparencyarethethreemainadvantagesofJavaprogramminglanguage.
However,therearetwoshortcomingsofWekacomparedwithPython.First,Weka'spre-processingandresultoutputaremoredifficult.Althoughitisconvenientforbeginnerstoprocessdatawithalittlefilter,itiseasiertowriteprogramslikePythonwhenprocessinglargeamountsofdata(Caia,etal.,2005).Similarly,althoughtheresultscanberunoutbypressing"Start"intheclassification,itismoretroublesomeforWekatomaketheresultsleadtotheformatorthenextapplication.Second,thePythonpackageisbooming.AlthoughWekaalsohasalotofpackages,butacloserlookwillrevealthatmostofthemareoldandhavenotbeenupdated.TheWekasuitewritteninJavaisalsodifficulttorewriteandcompile.Incontrast,thedevelopmentofPythonisflourishing.MostoflateresearchcouldberepackagedintoPythonpackagesforpeopletodownloadanduse,andtherearecountlessdevelopersstudyingPython.
Previousstudieshaveproventhatingeneralpurposeprograms,javaistheleastmemoryefficientprogramminglanguage(Prechel,s.f.)althoughtheonesfoundaremorethan5yearsold.Ifresearchwasmadeofthearticlesand/orresearchpapersrelatedtotheroleofJavaintheAIworldwritteninthelast4years,onewouldfindthattherearealmostnone.
IntheARMenvironment,JavahasastretchrelationshipwiththeARMarchitectureasJavawas,untilrecentyears,themainprogramminglanguagesforAndroiddevelopersand,therefore,fortheARMarchitectureusedinthiskindofdeviceswiththeAndroidoperatingsystem.SincethemainobjectivebehindAndroiddevelopmentwastocreateaplatform-independentapplicationenvironmentthat
canrunoneverydevice,Javawastheperfectcandidatetobethemainprogramminglanguageasitalreadyhasthisquality.
However,therearenotmuchinformationabouttheperformanceofJavaandtheJVMintheservermarketfortheARMprocessors.ThankstotheinclusionofARMprocessorsinMACsystemsonNovember10,2020,somebenchmarkshavebeenmadetotesttheperformanceofthesesystemsalthoughnoneofthemtestspecificallyjava-basedapplications.TheonlybenchmarktestingtheperformanceofaJavaapplicationonbothARMandx86architecturefoundwhenthisprojectwasbeingmadeshowedthatARMversionconsumedmorememorybuthadingeneralabetterperformance(Voitylov,2021).
PythonhaveevenlesspresenceintheARMarchitectureenvironment.CurrentresearcharemadeonFPGAsandthefewresultsprovidedbythecommunitysuggestthatPythonhavehugepotentialforthiskindofenvironment(Schmidt,etal.,2017)withsomestatingthata30xperformancewasobtainedovertheexistingCcodebutthelackofimplementationofcertainlibrariesdonotallowresearcherstotestnewbenchmarks.
Proposal
AsmoreproductsandfeaturesaredevelopedbasedonAItechnologyitisimportanttohaveagoodbasefromwhichconstructthesystem’sstructure.Therefore,havingagoodprogramlanguagefromwhichdevelopasolutionisessential.Asitwasstatedbefore,Pythonisthego-toprogramlanguagenowadaysfordevelopingAisoftwareduetotheeasycodingandthatanyonecanquicklylearnitbutitisalsoimportanttoalsotakeincountotherexistingoptionsasabaseprogramlanguage,inthiscase,Java.
Physics,mathematicians,andengineersarethemainpeopledevelopingnewAIalgorithmsandsolutionsastheyaretheyhaveadeepcomprehensionofthebasesbehindtheAIalgorithmsandthestatisticalcomponentofthem.Forthem,Pythonisanappealinglanguageprogramfromwhichdeveloptheirsolutionsasitdoesn’trequirealotoftimetolearnitssyntaxandthefinalcodeproducedisshortingeneral.ThatiswhymanyAIlibrariessuchasNumPyofSklearnaredevelopedforPython.JavaontheotherhandhasmuchlessresearchbehindinregardtoAIlibrariesbuttheresomeofthemlikeWEKAthatarestillusedandsimplifiesthejoboftheprogrammerwithitsAPI.ThisisthereasonthatthisprojectalsoaimstoanalyzethecharacteristicsofbothlanguagesfromthepointofviewofitscodeandspecificallyforthedevelopmentofAIprograms.
Performanceisanotherkeyfactorwhencomparingprogramlanguages.BothJavaandPythonhavetheirowncharacteristicswhichintheendproducedifferentresultsontheirperformance(Destefanis,etal.,2016).BothJavaandPythonarehighlevelprogramminglanguagesandsoitishardorevennotpossibletoaccessthehardwaredirectlytooptimizecodesotheybothdependonitsvirtualmachineandthecodeimplementationtodetermineitsfinalperformance.Oneofthemostremarkableaspectisthatmostofthetimes,PythonisinterpretingbytecodeandexecutingitlocallywhileJavacompilestoan“IntermediateLanguage”andtheJavaVirtualMachinereadsthebytecodeandjust-in-timecompilesittomachinecode.This,togetherwiththefactthatJavaisJIT-Compiledenablesoptimizationstobemadeatruntime.ThisJIToptimizerwillseewhichpartsoftheapplicationarebeingexecutedalargenumberoftimesandwillthenmakeoptimizationstothosebitsofcode,byreplacingthemwithmoreefficientversions.ItisalsoimportanttokeepinmindthatJavaisstrongly-typedlanguagesotheoptimizercanmakemanymoreassumptionsaboutthecode.
WiththesepremisesitwouldbeinterestingtotesttheoptimizationsJavaprovidestohaveanobjectiveperspectiveofitsperformanceandinparticularforAIalgorithms.
ItisalsoimportanttotakeincountandanalyzeotherarchitecturessuchasARM,whichisincreasingitsuseintheserver,HPCandeveninpersonalcomputers.ARMisthemainprocessorarchitectureintheFUGAKUSupercomputer,thenumber1oftheTop500supercomputersintheworld(Anon.,s.f.).TheBarcelonaSupercomputingCentrealsoincludesanARMmachineandtheArm-BSCCentreofExcellencewhichaimtoincreasethecollaborationbetweentheBSCandARMforresearchpurposes.Therefore,thisisanexcellentopportunitytoalsotakeincountthearchitectureasafactorwhencomparingbothlanguages.
Objectives
TheaimofthisprojectistodetermineifJavastillhasaplaceintheAIworldasarelevantprograminglanguagebycomparingittothenowadaysmostpopularlanguageintheAIsoftwaredevelopment,Python.Also,thisthesistriestoprovideandobjectiveanalysisoftheARMarchitecturewithAIalgorithmsasthecurrentstateoftheartisquitelackinginthisregard.
TheultimategoaloftheresultsisthattheyshouldprovideafirstapproachoftheactualperformanceofJavaandPythonusinguptodatetechnologiesandbeapossiblestartingpointforfutureresearchregardingnewtechniquestoincreaseJavaperformanceforAIalgorithms.Moreover,theoutputcouldhighlightsomepossibleunknownorunclearareaswhereJavacouldprovetobeamoreappealingtoolforresearchers.
Theobjectivestackledinthestudyare:
EvaluatethecodingprocessfortheimplementationofmostrepresentativealgorithmsinJavaandPython.
Evaluatethetotallengthofcodeproducedintheimplementationofthealgorithms.
EvaluatetheperformanceoftheimplementedalgorithmsinJavaandPythoninamachinewithx86architecture.
EvaluatetheperformanceoftheimplementedalgorithmsinJavaandPythoninamachinewithARMarchitecture.
Evaluatetheimpactofthearchitecturebyanalyzingtheperformanceofthealgorithmsimplementedinthesameprograminglanguagebutinamachinewithdifferentarchitecture.
AnalyzethecurrentstateofJavaontheAIworldbasedonthepreviousevaluations.
Methodology
Thissectioncontainstheresearchandanalysismadeoverthedifferentelementsthatwillmakepartoftheprojectaswellasthemetricsandcharacteristicthatwillbeusedtopresentresults.
StudyoftheexistingandmostrepresentativealgorithmsintheAI
AIenvironmentcontainsmanydifferentareasofstudyandtherefor,astudyofthemostrepresentativealgorithmswasmade.Thealgorithmsselectedcanbeclassifiedintotwocategories:RegressionandClassification.
Regression
Regressionalgorithm’sroleistopredicttheoutputvaluesofacertainproblembasedoninputfeaturesfromthedatafedinthesystem.Inordertodoso,thealgorithmbuildsamodelbasedonthefeaturesofthetrainingdataandthenusingthemodeltopredictthevaluefornewdata.
Linearregression
Thelinearregressionalgorithmisoneofthemost-usedregressionalgorithmsinMachineLearning.Asignificantvariableoragroupofthemfromthedatasetischosentopredictanoutputvariable.Therearethreetypesofregressionalgorithms:SimpleLinearregression,MultilinearregressionandtheNon-linearRegression.InthisworktheMultilinearregressiontypewillbeusedasitismorerepresentativethantheNon-linearregression(Yan&Su,s.f.)andhasmorecomputationalcomplexitythantheLinearregression.
Multilinearregressionisusedtoestimatetherelationshipbetweentwoormoreindependentvariablesandonedependentvariable.Thealgorithmanalysesthedatafromatrainingsetandcreatesamodelwiththefollowingformula:
𝑦=𝛽0+𝑋1𝛽1+⋯+𝑋𝑛𝛽𝑛+𝜀
Where:
y=thepredictedvalueofthedependentvariable
𝛽0=they-intercept
𝑋1𝛽1=theregressioncoefficientofthefirstindependentvariable(a.k.a.theeffectthatincreasingthevalueoftheindependentvariablehasonthepredictedyvalue)
𝑋𝑛𝛽𝑛=theregressioncoefficientofthelastindependentvariable
ε=modelerror(a.k.a.howmuchvariationthereisinourestimateofy)
Classification
Classificationisdefinedastheprocessofrecognition,understanding,andgroupingofobjectsandideasintopre-setcategories.Classificationalgorithmsusedinmachinelearningutilizeinputtrainingdataforthepurposeofpredictingtheprobabilitythatthedatathatfollowswillfallintooneofthepredeterminedcategories.Fromtheexistingclassificationalgorithms,thefollowingoneswereanalysed:
Logisticregression
LogisticregressionisamathematicalmodelingapproachthatcanbeusedtodescribetherelationshipofseveralindependentvariablesX1,X2,...,Xktoadependentvariableand/orpredictitsvalue.Todoso,itusesalogisticfunction,whichdescribesthemathematicalformonwhichthelogisticmodelisbased.Thefactthatthelogisticfunctionf(z)rangesbetween0and1istheprimaryreasonthelogisticmodelissopopular.Themodelisdesignedtodescribeaprobability,whichisalwayssomenumberbetween0and1.
Figure1:Logisticfunctionandgraphicalinterpretation
SupportVectorMachine
SupportVectorMachine(SVM)isoneofthemostextensivelyusedsupervisedmachinelearningalgorithmsinthefieldoftextclassification.Givenasetofpointsof2typesinNdimensionalplace,SVMgeneratesa(N—1)dimensionalhyperplanetoseparatethosepointsinto2groups.Itcomputesthelinearseparationsurfacewithamaximummarginforagiventrainingset.Whenalinearseparationsurfacedoesnotexist,forexample,inthepresenceofnoisydata,SVMsalgorithmswithaslackvariableareappropriate.ThisClassifierattemptstopartitionthedataspacewiththeuseoflinearornon-lineardelineationsbetweenthedifferentclasses.Thebesthyperplanewouldbethe
onewiththelargestpositivevectorsandseparatingmostofthedatanodes.Thisisanextremelypowerfulclassificationmachinethatcanbeappliedtoawiderangeofdatanormalizationproblems.
Figure2:HyperplanegeneratedbyaSVM
DecisionTrees
Adecisiontreeisadecisionsupporttoolthatusesatree-likegraphormodelofdecisionsandtheirpossibleconsequences,includingchance-eventoutcomes,resourcecosts,andutility.InaDecisiontree,therearethreetypesofnodes,whicharetheRootNode,theDecisionNodeandtheLeaforTerminalNode.TheRootnoderepresentstheentirepopulationorsampleandthisfurthergetsdividedintotwoormorehomogeneoussets,theDecisionnodesareusedtomakeanydecisionandhavemultiplebranches,whereasTerminalnodesaretheoutputofthosedecisionsanddonotcontainanyfurtherbranches.
Figure3:DecisionTreerepresentingeachofthenodes
Inordertopredictaclasslabelforarecord,thealgorithmstartsfromtherootofthetree.Itcomparesthevaluesoftherootattributewiththerecord’sattribute,and,onthebasisofcomparison,itfollowsthebranchcorrespondingtothatvalueandjumptothenextnode.Morespecifically,thecompleteprocesscanbedividedinthefollowingsteps:
Beginthetreewiththerootnode,saysS,whichcontainsthecompletedataset.
FindthebestattributeinthedatasetusingAttributeSelectionMeasure(ASM).
DividetheSintosubsetsthatcontainspossiblevaluesforthebestattributes.
Generatethedecisiontreenode,whichcontainsthebestattribute.
Recursivelymakenewdecisiontreesusingthesubsetsofthedatasetcreatedinstep-3.Continuethisprocessuntilastageisreachedwhereyoucannotfurtherclassifythenodesandcalledthefinalnodeasaleafnode.
k-NearestNeighbor
k-NearestNeighborisamethodthatsimplysearchestheclosestobservationstotheoneyouaretryingtopredictandclassifiesthepointofinterestbasedonmostofthedataaroundit.Itisasupervisedalgorithmsothetrainingdatasetislabeled,withtheclassorexpectedresultgiven"arow"ofdata.Itisalsoinstancebasedsoitdoesnotexplicitlylearnamodel(suchasLogisticRegressionordecisiontrees).Insteaditmemorizesthetraininginstancesthatareusedasa“knowledgebase”forthepredictionphase.
Figure4:GraphicalexampleofaKNNvotingprocess
NaïveBayes
ANaïveBayesclassifierisaprobabilisticclassifierbasedonBayestheorem.Itisaconditionalprobabilitymodel.Themodeliscallednaiveasitoperatesontheassumptionthatalltheinputdatavaluesareunrelatedtoeachother.Whilethiscannottakeplaceintherealworld,thissimple
algorithmcanbeappliedtoamultitudeofnormalizeddataflowstopredictresultswithagreatdegreeofaccuracy.
Thereare3maintypesofNaiveBayesalgorithms:
Gaussian:Itisusedinclassificationanditassumesthatfeaturesfollowanormaldistribution.
Multinomial:Thisoneisusedfordiscretecounts.
Bernoulliorbinomial:Thebinomialmodelisusefulifthefeaturevectorsarebinary.
Figure5:NaïveBayesrepresentationwherethealgorithmfindscommonfeatures.
Randomforest
TheRandomForestalgorithmconsistsofalargenumberofindividualdecisiontreesthatoperateasanensemble.Thealgorithmestablishestheoutcomebasedonthepredictionsofthedecisiontrees.Eachindividualtreeintherandomforestspitsoutaclasspredictionandtheclasswiththemostvotesbecomethemodelprediction.
Figure6:Randomforestcomposedby9decisiontreesvotingtheclassresult.
Arandomforesteradicatesthelimitationsofadecisiontreealgorithm.Itreducestheoverfittingofdatasetsandincreasesprecision.
StudyoftheavailableHardwaresystems
BSChasprovidedtwodifferentaccountsinordertofulfillthisproject.
AnaccountforMarensotrum4withanx86architecture.Eachcomputingmodulehasthefollowingcharacteristics:
2xIntelXeonPlatinum816024Cat2.1GHz
216nodeswith12x32GBDDR4-2667DIMMS(8GB/core)
3240nodeswith12x8GBDDR4-2667DIMMS(2GB/core)
Interconnectionnetworks:
100GbIntelOmni-PathFull-FatTree
10GbEthernet
OperatingSystem:SUSELinuxEnterpriseServer12SP2AnaccountfortheMareNostrum4CTEARMmachine
A64FXCPU(1Armv8.2-A+SVEchip)@2.20GHz(groupingthecoresin4CMG-CoreMemorygroup-with12cores/CMGandanadditionalassistantcoreperCMGfortheOperatingsystem,addingatotalof48cores+4system-corespernode.TheARMv8.2-AcoreshaveavailabletheScalableVectorExtension(SVE)SIMDinstructionsetupto512-bitvectorimplementation.
32GBofmainmemoryHBM2
TofuDnetwork
SinglePortInfinibandEDR
Theoperatingsystemis,RedHatEnterpriseLinuxServer8.1
StudyofJavaandPythonprograminglanguages
Java
Javaisahigh-level,object-oriented,general-purposeprogramminglanguagewidelyusedinpersonalcomputers,datacenters,gameconsoles,supercomputers,mobilephonesandtheInternetapplications.Itwasoriginallydevelopedin1991byJamesGosling,aCanadiancomputerscientist,atwhatwasthenSunMicrosystems,intheU.S.stateofCalifornia.Today,afterdecadesofeffect,Javahasbeendevelopedintoafullyfunctional,multipurpose,andpowerfullanguagesuitableforbothindividualandenterpriseusers.
Figure7:Javaarchitecturestructure
ThemaincomponentsofJavaare:TheJavaVirtualMachine(JVM),theJavaRuntimeEnvironment(JRE)andtheJavaDevelopmentKit(JDK).
TheJavaVirtualMachine(JVM)istheruntimeengineoftheJavaPlatform,whichallowsanyprogramwritteninJavaorotherlanguagecompiledintoJavabytecodetorunonanycomputerthathasanativeJVM.Itprovidesthefunctionalityofimportantsubsystemssuchasgarbagecollection,memorymanagementandsecurity.JVMisplatform-independentanditcanbecustomizedandconfiguredusingaVirtualinterfaceitprovideswhichisnotmachine-dependentandisalsoindependentoftheoperatingsystem.
Figure8:JavaVirtualMachinecomponents
TheJavavirtualmachineThemainsubsystemsare:
ClassLoader:ThisisthesubsystemofJVMusedtoloadclassfiles.Wheneverauserrunajavaprogram,classloaderloadsitfirst.
JVMmemorysubsystem:T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025购房合同协议书范本
- 2025二手车交易买卖合同协议书
- 施工咨询服务合同样本
- 体育教练员技能及训练方法题库
- 环保行业绿色产业技术创新与推广策略
- 植物病理学病原体识别与防治题库
- 直埋施工方案
- 美容美发行业线上线下营销策略推广方案
- 电力行业智能化电网运行与保护方案
- 网络游戏游戏体验提升及运营策略改进计划方案
- 电梯电磁兼容检验技术解决方案
- 用人单位劳动合同书范例
- 数学-江西省部分高中2025届高三下学期3月联合检测(一模)试题和解析
- 运动营养学(第三版)全套课件第1-10章
- 浙江省温州市2024年九年级数学八校联考学生素养检测中考模拟试卷(含答案)
- 2025年吉林司法警官职业学院单招职业技能测试题库审定版
- 2025届甘肃省白银市部分学校高三下学期开学检测物理试题(含答案)
- 雅安建筑垃圾循环利用项目可行性研究报告
- 2025-2031年中国工业自动化设备行业发展前景预测及投资方向研究报告
- 2025年仓储物流合作管理协议
- 2025年全国硕士研究生考试考研英语二试卷真题(含答案)
评论
0/150
提交评论