About
Greg Lavender is Executive Vice President, Chief Technology Officer (CTO) and General…
Articles by Greg
-
Seven Principles to Enable Perpetual Innovation
Seven Principles to Enable Perpetual Innovation
By Greg Lavender
Activity
-
The development of standards and best practices must accompany new innovations in AI to ease deployment and adoption of the technology in a…
The development of standards and best practices must accompany new innovations in AI to ease deployment and adoption of the technology in a…
Shared by Greg Lavender
-
Join us to learn about how Hugging Face and Optimum Intel are shaping the future of generative AI by simplifying and optimizing AI inference through…
Join us to learn about how Hugging Face and Optimum Intel are shaping the future of generative AI by simplifying and optimizing AI inference through…
Liked by Greg Lavender
-
We are opening a new frontier in chipmaking. The assembly of the industry’s first commercial High Numerical Aperture (High NA) Extreme Ultraviolet…
We are opening a new frontier in chipmaking. The assembly of the industry’s first commercial High Numerical Aperture (High NA) Extreme Ultraviolet…
Liked by Greg Lavender
Experience
Education
-
Virginia Tech
-
Activities and Societies: American Mathematical Society, IEEE Computer Society, Association for Computing Machinery
Dissertation: Polymorphic Types for Constructing Concurrent Objects and Layered Communication Protocols, 1993
Outstanding Doctoral Student Award, 1993
Outstanding Young Alumnus Award, 2003
Distinguished Alumnus Award, 2010
Academy of Engineering Excellence, 2014 -
-
Activities and Societies: President of Student ACM Chapter
Scholarly Graduate Study Award, 1988
-
-
Activities and Societies: Phi Beta Kappa, Pi Mu Epsilon Honorary Mathematics Society
Volunteer Experience
-
Information Technology Advisor
The American School of Classical Studies at Athens
- Present 14 years 4 months
Arts and Culture
-
Member Board Of Trustees
American School of Classical Studies at Athens
- Present 3 years 2 months
Arts and Culture
Publications
-
Intel Innovation 2022 CTO Keynote
Intel Corporation
Intel's premier annual developer conference
-
Lifting Transformational Models of Product Lines
Lectures Notes in Computer Science (LNCS) Vol. 5063
Model driven development (MDD) of software product lines (SPLs) merges two increasing important paradigms that synthesize programs by transformation. MDD creates programs by transforming models, and SPLs elaborate programs by applying transformations called features. In this paper, we present the design and implementation of a transformational model of a product line of scalar vector graphics and JavaScript applications. We explain how we simplified our implementation by lifting selected…
Model driven development (MDD) of software product lines (SPLs) merges two increasing important paradigms that synthesize programs by transformation. MDD creates programs by transforming models, and SPLs elaborate programs by applying transformations called features. In this paper, we present the design and implementation of a transformational model of a product line of scalar vector graphics and JavaScript applications. We explain how we simplified our implementation by lifting selected features and their compositions from our original product line (whose implementations were complex) to features and their compositions of another product line (whose specifications were simple). We used operators to map higher-level features and their compositions to their lower-level counterparts. Doing so exposed commuting relationships among
feature compositions inOther authors -
-
Langiappe: Multi-* Programming Made Simple
International Conference on Computer Communications and Networks, IEEE Press
In this paper we describe the design of Lagniappe, a programming environment that simplifies the design of portable, high throughput applications on multi-* architectures.
Other authors -
-
Method an Apparatus for Data Synchronization between Stores
UK Patent GB2397410
Information, e.g., password or other access credential information is synchronized, amongst directory spaces or repositories, that employ dissimilar protective transformations, e.g., hashes, encryption, etc. In some embodiments, directory spaces are embodied as directory servers, services or similar components of computer operating systems. The mechanism includes detecting changes to information encoded in a first information store and invalidating a corresponding entry of a second information…
Information, e.g., password or other access credential information is synchronized, amongst directory spaces or repositories, that employ dissimilar protective transformations, e.g., hashes, encryption, etc. In some embodiments, directory spaces are embodied as directory servers, services or similar components of computer operating systems. The mechanism includes detecting changes to information encoded in a first information store and invalidating a corresponding entry of a second information store. The invalidating triggers information synchronization upon a subsequent attempt to authenticate against this entry in the second store. The detection may be administered without reversing a protective transform of the entries.
Other authorsSee publication -
Method and Apparatus for Data Synchronization
UK Patent GB2397409
Information, e.g., password or other access credential information, may be synchronized amongst replicated directory spaces or repositories. In some embodiments, directory spaces are embodied as directory servers, services or similar components of computer operating systems, including LDAP, UDDI, Active Directory or other standardized or proprietary directory environments. In one embodiment in accordance with the present invention, a method includes invalidating an entry of at least one replica…
Information, e.g., password or other access credential information, may be synchronized amongst replicated directory spaces or repositories. In some embodiments, directory spaces are embodied as directory servers, services or similar components of computer operating systems, including LDAP, UDDI, Active Directory or other standardized or proprietary directory environments. In one embodiment in accordance with the present invention, a method includes invalidating an entry of at least one replica store. The invalidation of the entry of the replica store triggers information synchronization of a corresponding invalidated entry of a master store to a corresponding entry of an authoritative store on a next attempt to authenticate against the invalidated entry of the replica store.; The method may include propagating information of the synchronized master store entry to at least one other replica store.
Other authorsSee publication -
Internet Directory Services Using the Lightweight Directory Access Protocol
Handbook of Practical Internet Computing, CRC Press
The paper surveys the history, development and usage of directory services based on the Lightweight Directory Access Protocol (LDAP). We present a summary of the naming model, the schema model, the principal service models, and the main protocol interactions in terms of a C language application programming
interface.Other authorsSee publication -
Adaptive Configuration: an Object Structural Pattern for Adaptive Applications
3rd Annual Pattern Languages of Programming Conference
The Adaptive Configuration pattern described in this paper decouples the compositional structure of modules, which perform transformations on a data stream, from the algorithms used to implement these modules. Both may be changed dynamically and independently, to allow an implementation to adapt its functionality and resource requirements to the run-time environment. This pattern distinguishes itself from purely configurable pipeline patterns by addressing the tension
between modularity and…The Adaptive Configuration pattern described in this paper decouples the compositional structure of modules, which perform transformations on a data stream, from the algorithms used to implement these modules. Both may be changed dynamically and independently, to allow an implementation to adapt its functionality and resource requirements to the run-time environment. This pattern distinguishes itself from purely configurable pipeline patterns by addressing the tension
between modularity and performance.Other authorsSee publication -
An Adaptive Framework for Developing Multi-Media Software Components
Communications of the ACM
Recent improvements in microprocessor performance have made possible the migration of continuous media processing from specialized hardware, such as decompression and digital signal processing boards, to software. The extensibility and configurability of software libraries allows multimedia applications to access a wider range of multimedia objects, stored in a variety of compressed formats, and to employ an extensible set of tools for processing these objects. Furthermore,
configurable…Recent improvements in microprocessor performance have made possible the migration of continuous media processing from specialized hardware, such as decompression and digital signal processing boards, to software. The extensibility and configurability of software libraries allows multimedia applications to access a wider range of multimedia objects, stored in a variety of compressed formats, and to employ an extensible set of tools for processing these objects. Furthermore,
configurable software libraries enable applications to take advantage of new audio and video compression standards as they emerge, rather than becoming obsolete.Other authorsSee publication -
Presentation Processing Support for Adaptive Multimedia Applications
SPIE'96 Multimedia Computing and Networking Conference
This paper describes the design of and implementation of Presentation Processing Engines (PPEs) that provide flexible control over QoS to manage heterogeneity in networks, end-systems and compression formats. Development of PPEs is facilitated by a framework that provides the modular architecture, data types, and transformations common to most codecs, filters, transcoders etc. to facilitate the implementation of emerging compression standards and their integration into media processing…
This paper describes the design of and implementation of Presentation Processing Engines (PPEs) that provide flexible control over QoS to manage heterogeneity in networks, end-systems and compression formats. Development of PPEs is facilitated by a framework that provides the modular architecture, data types, and transformations common to most codecs, filters, transcoders etc. to facilitate the implementation of emerging compression standards and their integration into media processing applications. By allowing fine-grained composition of compression and image processing modules, the framework facilitates the development of extensible presentation processing engines that can be dynamically configured to adapt to changes in resource availability and user preferences.
Other authorsSee publication -
Active Object: An Object Behavioral Pattern for Concurrent Programming
2nd Annual Pattern Languages of Programming (PLoP) Conference
This paper describes the Active Object pattern, which decouples method execution from method invocation in order to simplify synchronized access to a shared resource by methods invoked in different threads of control. This pattern is commonly used in distributed systems requiring multi-threaded servers.
Other authors -
-
Programming with ASN.1 using Polymorphic Types and Type Specialization
Proceedings of the IFIP TC6/WG6.5 International Conference on Upper Layer Protocols, Architectures and Applications
A set of object-oriented abstractions is described that permits direct programming with ASN.1 specified types. The design and implementation also supports the flexible use of different encoding rules. The implementation is in C++ and makes use of class templates for representing polymorphic types, class inheritance for type specialization, and typedefs for de?ning ASN.1 types as instances of class templates. Encoding/decoding performance data is provided as evidence that this work is suitable…
A set of object-oriented abstractions is described that permits direct programming with ASN.1 specified types. The design and implementation also supports the flexible use of different encoding rules. The implementation is in C++ and makes use of class templates for representing polymorphic types, class inheritance for type specialization, and typedefs for de?ning ASN.1 types as instances of class templates. Encoding/decoding performance data is provided as evidence that this work is suitable for serious application development.
Other authors -
-
Using Polymorphic Types to Structure Flexible Protocol Stacks
Unpublished
A new approach to structuring layered protocols using polymorphic service access points and type inheritance between protocol machines is presented. Polymorphic service access points facilitate the flexible instantiation of protocol machines containing the minimal functionality required by an application. The type inheritance structure is induced by a vertical partitioning of the upper layers of the ISO Reference Model resulting in a non-monolithic protocol stack that supports concurrent…
A new approach to structuring layered protocols using polymorphic service access points and type inheritance between protocol machines is presented. Polymorphic service access points facilitate the flexible instantiation of protocol machines containing the minimal functionality required by an application. The type inheritance structure is induced by a vertical partitioning of the upper layers of the ISO Reference Model resulting in a non-monolithic protocol stack that supports concurrent object-oriented applications such as Actor systems. The results presented represent a modest contribution to the research and practice of advanced protocol development. The type structures in?troduced demonstrate to software engineers, particularly those developing layered systems software, that object-oriented programming techniques facilitate and enhance the implementation of layered
architectures. In addition, the results presented provide justification for object-oriented language designers that polymorphic and extensible type structures are useful for efficiently implementing layered communication protocol architectures. -
ACT++: A Class Library for Concurrent Programming in C++ Using Actors
Journal of Object-Oriented Programming
ACT++ 2.0 is the most recent version of a class library for concurrent programming in C++. The underlying model of concurrent computation is the Actor model. Programs in ACT++ consist of a collection of active objects called actors. Actors execute concurrently and cooperate by sending request and reply messages. An agent, termed the behavior of an actor, is responsible for processing a single request message and for specifying a replacement behavior which processes the next
available request…ACT++ 2.0 is the most recent version of a class library for concurrent programming in C++. The underlying model of concurrent computation is the Actor model. Programs in ACT++ consist of a collection of active objects called actors. Actors execute concurrently and cooperate by sending request and reply messages. An agent, termed the behavior of an actor, is responsible for processing a single request message and for specifying a replacement behavior which processes the next
available request message. One of the salient features of ACT++ is its ability to handle the Inheritance Anomaly - the interference between the inheritance mechanism of object-oriented
languages and the specification of synchronization constraints in the methods of a class - using the notion of behavior sets. Another feature of ACT++ is its realization of I/O as an actor operation. A special type of actor, called an interface actor, provides a high level interface for a file. Interface actors are sent request messages whenever I/O is necessary and can also transparently perform asynchronous I/O. ACT++ has been implemented on the Sequent Symmetry multiprocessor using the
PRESTO threads package.Other authors -
-
Concurrent Object-Oriented Languages and the Inheritance Anomaly
Parallel Computers: Theory and Practice, IEEE Press
A survey of concurrent object-oriented languages is presented. The survey is organized around three models: the Animation Model that describes a variety of relationships between threads and objects, an Interaction Model that classi#es the possible semantics of invocations and returns between a client object and a server object, and a Synchronization Model that shows di#erentways in which concurrentinvocations can be managed bya server.Anumber of representative languages are brie#y presented…
A survey of concurrent object-oriented languages is presented. The survey is organized around three models: the Animation Model that describes a variety of relationships between threads and objects, an Interaction Model that classi#es the possible semantics of invocations and returns between a client object and a server object, and a Synchronization Model that shows di#erentways in which concurrentinvocations can be managed bya server.Anumber of representative languages are brie#y presented. The problem of synchronization in concurrent object-oriented languages is considered in detail including a discussion of the inheritance anomaly. A synchronization mechanism, called a behavior set , is shown to avoid this anomaly in certain cases. The implementation of behavior sets in ACT++, an actor-based concurrent programming framework implemented in C++, is described.
Other authors -
-
Implementing Communication Protocols Using Object-Oriented Techniques
Microelectronics and Computer Technology Corporation Technical Report
Appropriate use of object-oriented programming mechanisms in the implementation of communication architectures results in a type structure that reflects the architectural model and increases the run-time performance of the protocol machines at each layer. This result is important since it contradicts the assertion by some that layered protocol architectures, such as the ISO Reference Model, necessarily suffer in performance because of layering, thus forcing implementors to violate the layering…
Appropriate use of object-oriented programming mechanisms in the implementation of communication architectures results in a type structure that reflects the architectural model and increases the run-time performance of the protocol machines at each layer. This result is important since it contradicts the assertion by some that layered protocol architectures, such as the ISO Reference Model, necessarily suffer in performance because of layering, thus forcing implementors to violate the layering principle in search of efficiency. The result substantiates the experience of others, notably Clark, that sound network programming methodology leads to efficient implementations that are also understandable. In this paper, elements of an object-oriented implementation of the upper layer OSI protocols are presented. The purpose of the paper is two-fold: first, to communicate to software engineers, particularly those developing systems software, that object-oriented programing techniques facilitate and enhance the implementation of layered architectures; second, to convey to language designers that object-oriented language features are useful in building communication protocols. The focus is on the requirements for the upper layer OSI protocols and how inheritance, subtyping, and polymorphic functions effect their implementation.
Other authors -
-
Ph.D. Dissertation: Polymorphic Types for Constructing Concurrent Objects and Layered Communication Protocols
Virginia Tech
Polymorphic type abstractions are proposed for constructing concurrent objects and layered peer-to-peer communication protocols, both of which exhibit inherently asynchronous behavior. The type abstractions are shown to be both expressive and efficient in the context of a statically typed object-oriented
language. Where appropriate, the utility of the type abstractions is illustrated by demonstrating their usefulness in concurrent programming using the Actor model. The results of this work…Polymorphic type abstractions are proposed for constructing concurrent objects and layered peer-to-peer communication protocols, both of which exhibit inherently asynchronous behavior. The type abstractions are shown to be both expressive and efficient in the context of a statically typed object-oriented
language. Where appropriate, the utility of the type abstractions is illustrated by demonstrating their usefulness in concurrent programming using the Actor model. The results of this work have direct applicability to problems in concurrent programming, distributed systems, and communication
protocol architectures.
-
A Polymorphic Future and First-Class Function Type for Concurrent Object-Oriented Programming
Unpublished
A "future" is a typed synchronization mechanism used to represent a value that will come into existence at some point in time after the creation of the future. In this paper, a polymorphic future type is introduced that di?ffers from previous mechanisms in that it provides a ?first-class, extensible facility for expressing synchronized access to the typed result value of a concurrent computation. The proposed mechanism requires write-once/read-many synchronization, which is implemented in terms…
A "future" is a typed synchronization mechanism used to represent a value that will come into existence at some point in time after the creation of the future. In this paper, a polymorphic future type is introduced that di?ffers from previous mechanisms in that it provides a ?first-class, extensible facility for expressing synchronized access to the typed result value of a concurrent computation. The proposed mechanism requires write-once/read-many synchronization, which is implemented in terms of common thread synchronization primitives, thereby ensuring a high-degree of e?fficiency. The type definition and type specialization features of C++ are used to illustrate how one would implement a polymorphic future type in a strongly typed object-oriented language supporting polymorphic type de?nitions.
Other authors -
-
The Carnot Extensible Services Switch
Enterprise Integration Modeling, MIT Press, 1992
The Carnot project for developing a flexible framework for integrating heterogeneous information resources and applications, both within and among organizations, is reviewed. The effective use of such systems requires a way to flexibly and efficiently orchestrate related tasks on far-flung computing systems. A central component of the Carnot project, the extensible services switch (ESS), which provides interpretive access to applications and to communications and information resources at…
The Carnot project for developing a flexible framework for integrating heterogeneous information resources and applications, both within and among organizations, is reviewed. The effective use of such systems requires a way to flexibly and efficiently orchestrate related tasks on far-flung computing systems. A central component of the Carnot project, the extensible services switch (ESS), which provides interpretive access to applications and to communications and information resources at distributed sites, is discussed. The ESS is described as essentially a programmable glue that enhances interoperability by binding software components to one another.
Other authors -
Characterizing and Inheriting Synchronization Constraints using Behavior Sets
MCC Technical Report
Using CCS behavior equations to specify and reason about the observable behavior of concurrent objects, the nature of the conflict in inheriting synchronization constraints is explicated. Using behavior equations as a formal representation of concurrent object behavior results in the definition of behavior sets and a behavior function. A behavior set represents a subset of the methods defined as part of an object’s interface. The behavior function is a mapping from the domain of object states…
Using CCS behavior equations to specify and reason about the observable behavior of concurrent objects, the nature of the conflict in inheriting synchronization constraints is explicated. Using behavior equations as a formal representation of concurrent object behavior results in the definition of behavior sets and a behavior function. A behavior set represents a subset of the methods defined as part of an object’s interface. The behavior function is a mapping from the domain of object states to the domain of behavior sets. A behavior set is used to represent the synchronization constraints of actor-like concurrent objects and may be extended via inheritance. By expressing relevant object states, behavior sets, and the behavior function as first-class, inheritable,and mutable entities in a concurrent object-oriented language, the conditions are defined that must be met in order to inherit synchronization constraints free of known anomalies.
Other authors -
Honors & Awards
-
Stephen B. Olin Fellow
Randolph-Macon College
The Olin Fellows are named for the first President of Randolph-Macon College
-
Visionary in Cloud Networking
Arista Networks, Inc.
Award for Citi's leaf-spine IP fabric for SDN enabling scale-out compute and a IP-based 40gbe storage fabric for global data center networking.
-
Academy of Engineering Excellence
College of Engineering, Virginia Tech
The Academy is an elite group of engineering alumni who have achieved multiple honors throughout their careers. As of spring 2014, the academy consists of only 127 people out of Virginia Tech’s more than 60,000 living engineering alumni.
http://www.eng.vt.edu/news/virginia-tech-s-college-engineering-inducts-new-academy-members-honors-outstanding-young-alum-1
-
Networking Thought Leadership Award
Open Networking Users Group (ONUG)
Keynote talk on Software Defined Networking at Citigroup
-
Phi Beta Kappa
Phi Beta Kappa Society
Alpha Chapter at the University of Georgia
Recommendations received
3 people have recommended Greg
Join now to viewMore activity by Greg
-
In case you missed it, the 2024 Software Development Tools from Intel are now available. The 2024.1 tool updates include several optimizations to…
In case you missed it, the 2024 Software Development Tools from Intel are now available. The 2024.1 tool updates include several optimizations to…
Shared by Greg Lavender
-
As a member of the #UXLFoundation, participants can help establish an open standard for developing applications that deliver performance across a…
As a member of the #UXLFoundation, participants can help establish an open standard for developing applications that deliver performance across a…
Liked by Greg Lavender
-
AI and computer vision are transforming personalized care, improving diagnostics, and creating future health interventions. With numerous challenges…
AI and computer vision are transforming personalized care, improving diagnostics, and creating future health interventions. With numerous challenges…
Liked by Greg Lavender
-
Calling all early-stage AI and machine learning startups! Apply to Intel Liftoff for free virtual support and resources to scale your innovation…
Calling all early-stage AI and machine learning startups! Apply to Intel Liftoff for free virtual support and resources to scale your innovation…
Liked by Greg Lavender
-
When transitioning your existing CUDA code to #SYCL, the Intel DPC++ Compatibility Tool offers a range of predetermined rules that assist with the…
When transitioning your existing CUDA code to #SYCL, the Intel DPC++ Compatibility Tool offers a range of predetermined rules that assist with the…
Liked by Greg Lavender
-
Upgrade to OpenVINO 2024.2 for improved model serving. OpenVINO Model Server now delivers higher throughput for parallel inferencing with…
Upgrade to OpenVINO 2024.2 for improved model serving. OpenVINO Model Server now delivers higher throughput for parallel inferencing with…
Liked by Greg Lavender
-
Learn how to run training and inference on Intel Gaudi 2 AI accelerators, including how to migrate your models from GPU, in this upcoming webinar…
Learn how to run training and inference on Intel Gaudi 2 AI accelerators, including how to migrate your models from GPU, in this upcoming webinar…
Liked by Greg Lavender
Other similar profiles
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore MoreOthers named Greg Lavender in United States
-
Greg Lavender
Sr. Recruiting Specialist at VitalSkin Dermatology
-
Greg Lavender
Technology Manager at Southwest Airlines
-
Greg Lavender
Attorney Licensed in Oklahoma, the Cherokee Nation Tribal Courts, and the Muscogee Creek Nation Tribal Courts
-
Greg Lavender
Business Owner
9 others named Greg Lavender in United States are on LinkedIn
See others named Greg Lavender