Architecting Paralle Software Keutzer And Mattson

2y ago
8 Views
2 Downloads
8.28 MB
20 Pages
Last View : 12d ago
Last Download : 3m ago
Upload by : Rosemary Rios
Transcription

Architecting Paralle SoftwareKeutzer and MattsonThe Challenge of ParallelismProgramming parallel processors is one of the challenges of our eraArchitecting Parallel SoftwarewithPatternsNVIDIA Tegra 2 system on a chip (SoC) Dual-core ARM Cortex A9. Integrated GPU. Lots of DSP. 1 GHz. 2 single-precision GFLOPs peak (CPUsonly)Kurt Keutzer, EECS, Berkeleywith thanks to Tim Mattson, Inteland the PALLAS teamNvidia Fermi 16 cores, 48-way multithreaded,Tilera Tile64 4-wide Superscalar, dual-issue, 3 64 processors 2-wide SIMD (half-pumped) Each tile has L1, L2, can run OS 2 MB (16 x 128 KB) Registers, 1443 billion operations/sec. MB (16 x 64 KB) L1 cache, 0.75 MB L2 Cache 500-833 MHz 50 Gbytes/sec memorybandwidth2 Kurt KeutzerAssumption #1:How not to develop parallel codeOutlinennnnnnWhat doesn’t workPieces of the problem and solutionGeneral approach to architecting parallel swDetail on Structural PatternsDetail on Computational PatternsHigh-level examples of architecting applicationsInitial CodeRe-code withmore threadsProfilerPerformanceprofileNot fastenoughFast enoughLots of failuresShip it3N PE’s slower than 1441

Architecting Paralle SoftwareKeutzer and MattsonSteiner Tree Construction Time ByRouting Each Net in ParallelBenchmarkSerial2 Threads3 Threads4 ThreadsHint: What is this person thinking of?5 Threads6 0046Re-code withmore threadsEdward Lee,“The Problemwith Threads”Threads, locks, semaphores, data races65So What’s the Alternative?OutlinennnnnnWhat doesn’t workPieces of the problem and solutionGeneral approach to architecting parallel swDetail on Structural PatternsDetail on Computational PatternsHigh-level examples of architecting applications82

Architecting Paralle SoftwareKeutzer and MattsonPrinciples of SW DesignAfter 15 years in industry, at one time overseeing the technology of 25software products, my best principle to facilitate good software designis modularity:Modularity helps: Architect: Makes overall design sound and comprehensible Project manager:n As a manager I am able to comfortably assign differentmodules to different developersn I am also able to use module definitions to track development Build a PERT chart for development progress Build a “control panel” for current software quality Module implementors: As a module implementor I am able tofocus on the implementation, optimization, and verification of mymodule with a minimum of concern about the rest of the design Modularity helps to identify key computationsBig Step:Architectural Styles Pipeand filter Object Eventorientedbased Layered Agent(Garland and Shaw, 1996)What’s life like without modularity? Spaghetti codeWars over the interpretation of the specificationWaiting on other codersWondering why you didn’t touch anything and now your codebrokeHard to verify your code in isolation, and therefore hard tooptimizeHard to parallelize without identifying key computationsModularity will help us obviate all thesen Parnas, “On the criteria to be used on composing systems intomodules,” CACM, December 1972.Object-Oriented Programming isNot EnoughFocused on: Program modularity Data locality Architectural styles Design patternsNeglected: Applicationconcurrency Computational details Parallelimplementationsand repository Processcontrol123

Architecting Paralle SoftwareKeutzer and MattsonWhat’s missing?: Is an executingsoftware program more like?a) A buildingb) A factoryComputations are the MachineryHPC knows a lot about computations, application concurrency,efficient programming, and parallel implementationWe need to consider the machinery – but what is the machinery?14COMPUTATIONAL RESEARCH DIVISION!Defining Software Requirements forScientific ComputingPhillip ColellaApplied Numerical Algorithms GroupLawrence Berkeley National LaboratoryCOMPUTATIONAL RESEARCH DIVISION!High-end simulation in the physical sciences consists of sevenalgorithms: Structured Grids (including locally structured grids, e.g. AMR)Unstructured GridsFast Fourier TransformDense Linear AlgebraSparse Linear AlgebraParticlesMonte CarloWell-defined targets from algorithmic and software standpoint.Remainder of this talk will consider one of them (structuredgrids) in detail.!‹#›!!‹#›!4

Architecting Paralle SoftwareKeutzer and MattsonUnfortunately HPC approach tosoftware architecture architectureCADHPCMLGamesDBDwarvesGraph AlgorithmsGraphical ModelsBacktrack / B&BFinite State Mach.CircuitsDynamic Prog.Unstructured GridStructured GridDense MatrixSparse MatrixSpectral (FFT)Monte CarloN-BodySPECAppsEmbedPar Lab’s contribution: from 7 to13 families of computationsHealthTechnically this is known as a monolithic architectureImage Speech Music BrowserUnderstanding computations is not enough either18How can we integrate theseinsights? OutlinenWe wish to find an approach to building software that givesequal support for two key problems of software design –how to structure the software and how to efficientlyimplement the computationsnnnnn Kurt Keutzer19What doesn’t workPieces of the problem and solutionGeneral approach to architecting parallel swDetail on Structural PatternsDetail on Computational PatternsHigh-level examples of architecting applications205

Architecting Paralle SoftwareKeutzer and MattsonAlexander’s Pattern LanguageUses of PatternsPatterns give names and definitions to key elements of designThis enables us to better: Teach design – a palette of defined design principalsn Gives ideas to new programmers – approaches you maynot have consideredn Gives a set of finiteness to experienced programmers – ifyou’ve considered all the patterns then you can restassured you’ve considered the key approaches Guide design – articulate design decisions succinctly Communicate design – improve documentation, facilitatemaintenance of softwareChristopher Alexander’s approach to(civil) architecture: "Each pattern describes a problemwhich occurs over and over againin our environment, and thendescribes the core of the solutionto that problem, in such a way thatyou can use this solution a milliontimes over, without ever doing itthe same way twice.“ Page x, APattern Language, ChristopherAlexanderAlexander’s 253 (civil) architecturalpatterns range from the creation ofcities (2. distribution of towns) toparticular building problems (232. roofcap)A pattern language is an organized wayof tackling an architectural problemusing patternsMain limitation: It’s about civil not softwarearchitecture!!!21Uses of PatternsPatterns capture and preserve bodies of knowledge about keydesign decisions Useful implementation techniques Likely challenges/bottlenecks that will come with the use ofthis pattern (e.g. repository bottleneck in agent andrepository)Architecting Parallel Software with PatternsIdentify the SoftwareStructureIdentify the KeyComputations Pipe-and-Filter Graph Algorithms Agent-and-Repository Dynamic programming Event-based Dense/Spare Linear Algebra Process Control (Un)Structured Grids Layered Systems Graphical Models Model-view controller Finite State Machines Iterator Backtrack Branch-and-Bound MapReduce N-Body Methods Arbitrary Task Graphs Circuits Puppeteer Spectral Methods246

Architecting Paralle SoftwareKeutzer and MattsonArchitecting Parallel SoftwareIdentify the SW StructureDecompose TasksDecompose Data Group tasks Identify data sharing Pipe-and-Filter Order Tasks Identify data access Agent-and-RepositoryStructural Patterns Event-based Process Control Layered SystemsIdentify the SoftwareStructure Model-view controllerIdentify the KeyComputations Iterator MapReduce Arbitrary Task Graphs PuppeteerThese define the structure of our software but they do notdescribe what is computed25Analogy: Layout of Factory Plant2627CADHPCMLGamesDBDwarvesGraph AlgorithmsGraphical ModelsBacktrack / B&BFinite State Mach.CircuitsDynamic Prog.Unstructured GridStructured GridDense MatrixSparse MatrixSpectral (FFT)Monte CarloN-BodySPECAppsEmbedIdentify key computations .HealthImage Speech Music BrowserComputational patterns describe the key computations but not howthey are implemented7

Architecting Paralle SoftwareKeutzer and MattsonAnalogy: Architected FactoryAnalogy: Machinery of the Factory29Architecting Parallel SoftwareStructural PatternsRaises appropriate issues like scheduling, latency, throughput,workflow, resource management, capacity etc.30Remember this Poor Guy Computational Patterns Graph-Algorithms Pipe-and-Filter Dynamic-Programming Agent-and-Repository Dense-Linear-Algebra Event-based Sparse-Linear-Algebra Layered Systems Unstructured-Grids Model-view-controller Structured-Grids Arbitrary Task Graphs Puppeteer Iterator/BSP MapReduceRe-code withmore threads Graphical-Models Finite-State-Machines Backtrack-Branch-and-Bound N-Body-Methods Circuits Spectral-Methods Monte-CarloEdward Lee,“The Problemwith Threads”Threads, locks, semaphores, data races328

Architecting Paralle SoftwareKeutzer and MattsonWhat’s this person thinking of ?Outlinev Need to integrate the insights into computation providedby HPC with the insights into program structure providedby software architectural styles"nnnnSoftwarearchitecturenncomputational patternsWhat doesn’t workPieces of the problem and solutionGeneral approach to architecting parallel swDetail on Structural PatternsDetail on Computational PatternsHigh-level examples of architecting applicationsstructural patterns3334Elements of a structural patternInventory of Structural Patternspipe and filter2. iterator3. MapReduce4. blackboard/agent and repository5. process control6. Model View Controller7. layered8. event-based coordination9. puppeteer10. static task graph1.nComponents are where the computationhappensnnA configuration isa graph ofcomponents(vertices) andconnectors(edges)A structuralpatterns may bedescribed as afamiliy of graphs.Connectors are where the communication happens35369

Architecting Paralle SoftwareKeutzer and MattsonPattern 1: Pipe and FilterExamples of pipe and filtern Filters embody computation Only see inputs and produceoutputsFilter 1Filter 3Almost every large software program has a pipe and filter structure atthe highest level Pipes embodycommunicationFilter 2Filter 4May have feedbackFilter 5Filter 6Filter 7Examples?CompilerImage Retrieval SystemLogic optimizer3738Example of Iterator Pattern:Training a Classifier: SVM TrainingPattern 2: Iterator PatternInitialization conditionVariety offunctionsperformedasynchronouslyIterator Structural ynchronizeresults of iterationNoExit condition met?YesAll points withinacceptable error?Examples?39NoYes4010

Architecting Paralle SoftwareKeutzer and MattsonPattern 3: MapReduceExamples of Map ReduceTo us, it means A map stage, where data is mapped onto independentcomputations A reduce stage, where the results of the map stage aresummarized (i.e. reduced)nnnGeneral structure:Map a computation across distributed data setsReduce the results to find the best/(worst), maxima/(minima)MapMapSupport-vector machines (ML) Map to evaluate distance fromthe frontier Reduce to find the greatestoutlier from the frontierReduceReduceExamples?Speech recognition Map HMM computationto evaluate word match Reduce to find the mostlikely word sequences41Pattern 4: Agent and RepositoryExample: Compiler OptimizationAgent 2Agent 1Agent 342Repository/Blackboard(i.e. database)Examples?loopfusionAgent 4Agent and repository : Blackboard structural patternAgents cooperate on a shared medium to produce a resultKey elements: Blackboard: repository of the resulting creation that isshared by all agents (circuit database) Agents: intelligent agents that will act on blackboard(optimizations) Manager: orchestrates agents access to the blackboard andcreation of the aggregate results ationStrength-reductionDead-code eliminationOptimization of a software programn Intermediate representation of program is stored in therepositoryn Individual agents have heuristics to optimize the programn Manager orchestrates the access of the optimization agents tothe program in the repositoryn Resulting program is left in the repository434411

Architecting Paralle SoftwareKeutzer and MattsonExample: Logic Optimizationtimingopt agent 1timingopt agent 2timingopt agent 3 .Pattern 5: Process Controltimingopt agent rcuitDatabaseinput sSource: Adapted from Shaw & Garlan 1996, p27-31.nnnnnnOptimization of integrated circuitsIntegrated circuit is stored in the repositoryIndividual agents have heuristics to optimize the circuitry of anintegrated circuitManager orchestrates the access of the optimization agents to thecircuit repositoryResulting optimized circuit is left in the repositoryProcess control: Process:underlying phenomena to be controlled/computedtask(s) affecting the process Sensor: task(s) which analyze the state of the process Controller: task which determines what actuators should beeffected Actuator:Examples?4546Pattern 9: PuppeteerExamples of Process Control usertimingconstraintsd?ee?Sp weroPTimingconstraintscontrollerNeed an efficient way to manage and control the interaction ofmultiple simulators/computational agentsPuppeteer Pattern – guides the interaction between the tasks/puppets to guarantee correctness of the overall taskPuppeteer: 1) schedules puppets 2) manages exchange of databetween puppetsDifference with agent and repository? No central repository Data transfer between tasks/puppetsFrameworkChange Control ManagerCircuitInterfacesPuppet1Process controlstructural etnExamples?4748/1712

Architecting Paralle SoftwareKeutzer and MattsonModel of circulationVideo Game Modeling of blood moving in blood vessels The computation is structured as a controlled interactionbetween solid (blood vessel) and fluid (blood) simulation codes The two simulations use different data structures and thenumber of iterations for each simulation code varies Need an efficient way to manage and control the interaction ofthe two codes FrameworkChange Control n 10: Static Task GraphTasks receive inputs and produce outputsAll data sharing is through explicit messaging (arrow “!” meansmessage passing communication)Task configuration is statically defined and may not be changed atruntimeTask 1Task 2Task 3Task 5Task 450Example: one game architectureThere exist fixed dependencies between subsystemsCan be modeled as an arbitrary task graphExample: Moving the zombie Keyboard - AI - Physics - GraphicsInputPhysicsAIEffectsGraphicsExample?13

Architecting Paralle SoftwareKeutzer and MattsonOutlinennnCADHPCMLGamesDwarvesGraph AlgorithmsGraphical ModelsBacktrack / B&BFinite State Mach.CircuitsDynamic Prog.Unstructured GridStructured GridDense MatrixSparse MatrixSpectral (FFT)Monte CarloN-BodyDBnAppsSPECnYou explore these every classWhat doesn’t workPieces of the problem and solutionGeneral approach to architecting parallel swDetail on Structural PatternsDetail on Computational PatternsHigh-level examples of architecting applicationsEmbednHealthImage Speech Music Browser53OutlinennnnnnAutomatic Speech RecognitionWhat doesn’t workPieces of the problem and solutionGeneral approach to architecting parallel swDetail on Structural PatternsDetail on Computational PatternsHigh-level examples of architecting applications5514

Architecting Paralle SoftwareKeutzer and MattsonSpeech Recognition at High Level!Large Vocabulary Con0nuous Speech Recogni0onSystem DiagramFeaturesfrom oneframeGaussian Mixture Modelfor One Phone StateMixture ComponentsRecogni0on Network hhnCompu0ngweighted sumof all componentsWordSequenceInferenceEngineI thinkthereforeI amBigramLanguage Model.CAT.HATHOPIN.ONPOP.THE. SignalProcessingModuleLanguageModelPronunciaPon Model.HOP hh aa p.ON aa n.POP p aa p.aa VoiceInputSpeechFeaturesPronunciaPonModel AcousPcModelCompu0ngdistance toeach mixturecomponentsHMM AcousPcPhone Model.CAT.HATHOPIN.ONPOP.THE.§ Inference engine based system§ Used in Sphinx (CMU, USA), HTK (Cambridge, UK), and Julius (CSRC, Japan) [10,15,9]§ Modular and flexible setup§ Shown to be effecPve for Arabic, English, Japanese, and MandarinRecogni0on Network57/6958"LVCSR SoEware ArchitecturePipe-and-filterRecogni0on NetworkAcousPcModelPronunciaPonModelKey computa0on: HMM Inference AlgorithmAn instance of:LanguageModelGraphical ModelsImplemented with: Dynamic Programming§ Finds the most-likely sequence of states that produced the observaPonGMMInference EngineVoiceInputGraphical ModelBeam Search IterationsActive State Computation StepsDynamicProgrammingFrontierPipe and SequenceSpeechFeatures Itera0ve RefinementRec Network Transition ProbabilityViterbi AlgorithmI thinkthereforeI am59/69xSequenceI thinkthereforeI amObs 2xObs 3xObs 4xLegends:A StatexAn ObservationState 1P( xt st )m [t-1][st-1]State 2P( st st-1 )m [t][st ]State 3Markov Condition:State 4J. Chong, Y. Yi, A. Faria, N.R. Satish and K. Keutzer, “Data-Parallel Large Vocabulary Continuous SpeechRecognition on Graphics Processors”, Emerging Applications and Manycore Arch. 2008, pp. 23-35, June 200860/6915

Architecting Paralle SoftwareKeutzer and MattsonItera0ve Refinement Structural PaPernHiddenMarkovModelInference Engine in LVCSR§ Three steps of inference0. Gather operands from irregular data structure to runPme buffer1. Perform observaPon probability computaPon2. Perform graph traversal computaPon§ One iteration per time step§ Identify the set of probablestates in the network givenacoustic signal givencurrent active state set§ Prune unlikely states§ RepeatParallelism in the inference engine:0. Gather operand1. xP(xt st)2.m [t][st ]61/6962/69Each Filter is Map Reduce1. observa0on probability computa0onEach Filter is a Map Reduce0. Gather operandsn Gaussian Mixture Model Probabilityn Probability that given this feature-frame (e.g. 10ms) we are inthis state/phonen Gather and coalesce each of the above operands for every stn Facilitates opportunity for SIMD1. x0. Gather operandmaxP(xt st)max63/6964/6916

Architecting Paralle SoftwareKeutzer and Mattson1. Observa0on ProbabilityComputa0onal PaPernsEach Filter is Map Reduce2. graph traversal computa0on§ Observation probabilities are computed from Gaussian Mixture Models§ Each Gaussian probability in each mixture is independent§ Probability for one phone state is the sum of all Gaussians times themixture probability for that staten Map probability computaPon across distributed data sets –perform mulPplicaPon as belown Reduce the results to find the maximally likely statesmax2.Dan Klein’s CS288, Lecture 9m [t][st ]65/6966/69All together: Inference Engine in LVCSRLVCSR SoEware ArchitecturePipe-and-filterRecogni0on Network§ Put all together the inference engine is dynamic delInference EngineVoiceInputParallelism in the inference engine:Graphical ModelBeam Search IterationsActive State Computation StepsDynamicProgrammingPipe and Filter0. Gather operand1. xP(xt st)2.m [t][st Features 67/69Itera0ve RefinementI thinkthereforeI am68/6917

Architecting Paralle SoftwareKeutzer and MattsonHMM computed with Dynamic ProgrammingSpeech Model x!ay!ch!eh!g!ax!ay!ch!eh!g!k aax!ay!ch!eh!g!ax!ay!ch!eh!g!aagn !g!ax!ay!ch!eh!g!iiax!ay!ch!eh!g!This Approach !ay!ch!eh!g!chax!ay!ch!eh!g!i i i i i ii i i i i ii i i i i ii i i i i ii i i i iy! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y! y!k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k! k!n! n! n! n! n! n! n! n! n! n! n! n!n! n! n! n! n! n! n! n! n! n! n! n! n! n! n! n! n!p! p! p! p! p! p! p! p! p! p! p! p!p! p! p! p! p! p! p! p! p! p! p! p! p! p! p! p! p!r! r! r! r! r! r! r! r! r! r! r! r!r! r! r! r! r! r! r! r! r! r! r! r! r! r! r! r! r!s! s! s! s! s! s! s! s! s! s! s! s!s! s! s! s! s! s! s! s! s! s! s! s! s! s! s! s! s!z! z! z! z! z! z! z! z! z! z! z! z!z! z! z! z! z! z! z! z! z! z! z! z! z! z! z! z! 9Applica0onOur SpeedupMRI ReconstrucPonSVM TrainingSVM DeploymentValue-at-riskOpPon Pricing100x20x109x60x25xSpeech RecogniPonVideo Event DetecPonContour DetecPonObject RecogniPonPoseletsOpPcal FlowDeformable Parts ModelsImage ConvoluPonDeep Neural Network Training11x78x130x80x20x32x45x8x47 - 140xIEEE TMI 2012ICML 2008Wiley 2011Interspeech 2010, 2011ICMR 2015ICCV 2009WACV 2011ECCV 2010CVPR 2015ICIP 2013CVPR 2016“Considerations When Evaluating Microprocessor Platforms” In Proceedings of the 3rd USENIX conferenceon Hot topics in parallelism (HotPar'11). USENIX Association, Berkeley, CA, USA.70/69Recap: Architec0ng Parallel SoEwareOutlinennnnnnnPALLAS has a 10-year history of acceleraPng criPcal applicaPonsWhat doesn’t workPieces of the problem and soluPonGeneral approach to architecPng parallel swDetail on Structural PajernsDetail on ComputaPonal PajernsHigh-level examples of architecPng applicaPonsSummary1. Start with a compelling,performance sensitiveapplication.ImageClassificationCatanzaro, Sundaram, Keutzer, “Fast SVM Training and Classification onGraphics Processors”, ICML 20082. Define theIdentify theoverall structure SoftwareStructureIdentify theKeyComputations3. Define computationsinside structuralelements4. Compose Structuraland computationalpatterns to yieldsoftware architecturePipe&Filter71/69"Image Feature Extraction for Mobile Processors", Mark Murphy, Hong Wang, Kurt Keutzer IISWC '0972/6918

Architecting Paralle SoftwareKeutzer and MattsonComputa0onal PaPernsMake me Feel SmartOPL/PLPP 2012ApplicationsStructural PatternsModel-View-ControllerComputational grammingProcess-ControlGarlanand ShawEvent-Based/Implicit-InvocationArchitectural Sparse-Linear-AlgebraTask DecompositionData DecompositionOrdered task groupsData sharingDesign EvaluationParallel Algorithm Strategy PatternsImplementation Strategy PatternsProgram Backtrack-Branch-and-BoundCircuitsFinding Concurrency mDivide and -ArrayShared-MapShared-DataParallel Graph TraversalAlgorithms and Data structureParallel Execution PatternsShared Address Space ThreadsCoordinating ProcessesStream processingTask Driven ExecutionConcurrency Foundation constructs (not expressed as patterns)Thread/proc �For many years computaPon has been like a big ball of yarnComputaPonal pajerns help us to unravel it into 13 strandsAlan Kay “PerspecPve is worth 100 IQ points.”ComputaPonal pajerns give us perspecPve on computaPon73Structural PaPernsMake me Feel Organized74/69SummaryStructural Patterns§ The key to producPve and efficient parallel programming is creaPng agood sooware architecture – a hierarchical composiPon of:§ Structural pajerns: enforce modularity and expose invariants§ I showed you six – four more will be all you ever need§ ComputaPonal pajerns: idenPfy key computaPons to be parallelized§ OrchestraPon of computaPonal and structural pajerns createsarchitectures which greatly facilitates the development of parallelprograms: Pipe-and-Filter Agent-and-Repository Event-based Layered Systems Model-view-controller Arbitrary Task Graphs Puppeteer Iterator/BSPShort Course Hosted at Intel Software University Website: Engineering Parallel Software with Patterns http://university.intel.com/Semester Long Course Taught at Berkeley and Hosted at XSEDE https://cvw.cac.cornell.edu/eps/defaultPatterns: https://patterns.eecs.berkeley.edu/ MapReduce The modularity provided by structural patterns make me feelorganized. Even the most complex application can be broken downinto manageable modules75/6976/6919

Architecting Paralle SoftwareKeutzer and MattsonMore examples7720

Mar 29, 2016 · Programming parallel processors is one of the challenges of our era 2 NVIDIA Tegra 2 system on a chip (SoC) Dual-core ARM Cortex A9. . Architecting Parallel Software with Patterns Identify the Software Structure Identify the Key Computations . Architecting

Related Documents:

Architecting for Performance Design Architecting for Performance Storage Architecting for Performance Processor Architecting for Performance Memory . such as Microsoft Exchange, Microsoft SQL Server or an Oracle database. Term originated in 2011 when VMware increased the virtual hardware limits on virtual machines

Architecting a Hybrid Management Solution Time Required: 3 Hours (Including the lab) In this module, the student will learn how to extend management, monitoring and security capabilities across deployments on-premises, and in various cloud providers. This will include architecting an OMS solution to leverage Log Analytics, Azure

regardless of which MOD community is doing the work, or the MODAF views that are being generated. However, the MOD does not prescribe a “MODAF Method” for architecting and creating MODAF views. What this document presents is an example of one approach to take; there are many different ways to approach the architecting process.

4 AWS Training & Services AWS Essentials Training AWS Cloud Practitioner Essentials (CP-ESS) AWS Technical Essentials (AWSE) AWS Business Essentials (AWSBE) AWS Security Essentials (SEC-ESS) AWS System Architecture Training Architecting on AWS (AWSA) Advanced Architecting on AWS (AWSAA) Architecting on AWS - Accelerator (ARCH-AX) AWS Development Training

6 Lockheed Martin Architectures for Affordability and Mission Performance – Collection of programs to exploit LM’s capability in architecting complex systems Objectives: – Ensure LM has sufficient Architect competence and talent – Raise the bar on the practice of Architecting in key areas (i.e., Software, Systems) – Develop a

Apr 21, 2015 · In fact, this tenet of Architecture Description— stakeholder- and concern-driven views —is a fundamental organizing principle, following from and formalizing much of current practice in Architecting. This is discussed in detail below—for its applicability to Software and S

tres tipos principales de software: software de sistemas, software de aplicación y software de programación. 1.2 Tipos de software El software se clasifica en tres tipos: Software de sistema. Software de aplicación. Software de programación.

An Introduction to Conditional Random Fields Charles Sutton1 and Andrew McCallum2 1 EdinburghEH8 9AB, UK, csutton@inf.ed.ac.uk 2 Amherst, MA01003, USA, mccallum@cs.umass.edu Abstract Often we wish to predict a large number of variables that depend on each other as well as on other observed variables. Structured predic- tion methods are essentially a combination of classi cation and graph-ical .