Might the gravity levels found on other planets and on the moon be sufficient to provide an adequate perception of upright for astronauts? Can the amount of gravity required be predicted from the physiological threshold for linear acceleration? The perception of upright is determined not only by gravity but also visual information when available and assumptions about the orientation of the body. Here, we used a human centrifuge to simulate gravity levels from zero to earth gravity along the long-axis of the body and measured observers' perception of upright using the Oriented Character Recognition Test (OCHART) with and without visual cues arranged to indicate a direction of gravity that differed from the body's long axis. This procedure allowed us to assess the relative contribution of the added gravity in determining the perceptual upright. Control experiments off the centrifuge allowed us to measure the relative contributions of normal gravity, vision, and body orientation for each participant. We found that the influence of 1 g in determining the perceptual upright did not depend on whether the acceleration was created by lying on the centrifuge or by normal gravity. The 50% threshold for centrifuge-simulated gravity's ability to influence the perceptual upright was at around 0.15 g, close to the level of moon gravity but much higher than the threshold for detecting linear acceleration along the long axis of the body. This observation may partially explain the instability of moonwalkers but is good news for future missions to Mars. Maintaining an upright posture in a low-gravity environment is not easy. NASA documents abound with examples of astronauts falling on the lunar surface −2 (0.02 g) are reliably detectable. Recent studies using a limited set of g values in parabolic flight have suggested that much higher levels of g are needed to provide useable orientation cues Establishing an “up” direction is a multisensory process that integrates information about orientation obtained from visual cues, gravity and the internal representation of the body To assess how much gravity is needed to establish an up direction, we had participants view a highly polarized visual scene while lying supine on a human centrifuge . We rota2, sphygmomanometric and finger blood pressure, and thoracic impedance. During the experiments, participants were also under continuous visual observation via an infrared camera system monitored by qualified medical personnel and the centrifuge operator.Ten participants  took part in the experiment. All participants were volunteers from the German Bundeswehr and had normal or corrected-to-normal vision and reported no history of vestibular dysfunction. Each participant was screened for diabetes mellitus, rheumatism, muscle or joint diseases, laser eye surgery, herniated disc, chronic back pain, claustrophobia, heart disease and orthostatic intolerance using anamnesis, clinical chemistry, urine analysis, ECG and through self report of general health. All experiments were approved by the Ethics Board of York University and the Ethics Commission of Aerztekammer Nordrhein . Participants gave their written informed consent and all experiments were performed in accordance with the principles expressed in the Declaration of Helsinki. During the centrifugation the following physiological signs were continuously monitored by a medical team: ECG, heart rate, SpOExperiments were run using the Short Arm Centrifuge Facility (SAHC) provided by the European Space Agency (ESA) situated at the Deutsches Zentrum für Luft-un Raumfahrt Institute of Medicine, in Cologne, Germany. Participants lay on their backs in a nacelle with their head towards the axis of rotation and with their knees bent to reduce the distance between the head and feet and hence the gravitational gradient along the body. They viewed an earth-horizontal screen  positioned 20 cm above their faces. The screen was mounted inside a lightproof hood to obscure the participant's view of the external environment; the room lights in the centrifuge room needed to remain on while the centrifuge was spinning for safety reasons. The screen was viewed through a circular aperture  to avoid orienting cues from the edges of the screen.Gravitational levels were calculated at the head, which was between 73 and 76 cm from the centre of rotation depending on the participant. Given the gravitational gradient, the force at the stomach would be roughly twice that at the head. For each participant, ten personalized rotation speeds were used to produce centrifugal accelerations of 0 (centrifuge stationary), 0.02, 0.04, 0.06, 0.08, 0.1, 0.2, 0.6 and 1 g. Rotation speeds were calculated for each participant to take into account small variations in the distance of each person's head from the axis of rotation. The centrifuge always span clockwise. Participants lay in the centrifuge with their legs bent as if they were sitting lying down which reduced the distance of the body extremities from the centre of rotation and hence reduced the gravity gradient along the body. Participants held an emergency stop button in their left hand mounted on the end of a hand grip which could be operated by their left thumb. Responses were made with their right hand.The stimuli consisted of the character “p” (2° high) that could be presented at any orientation under control of an adaptive algorithm PEST, . The algIn order to compare the results using centrifuge-simulated gravity from real gravity we ran a set of off-centrifuge experiments using the same participants before and after their centrifugation. Three postures were used, upright (sitting on a chair), lying on the left side and lying on the right side in order to separate the orientation of the body and gravity to assess their relative effects see . The visFor both centrifuge and ground conditions, participants responded by pressing one of two keys on a hand held Gamepad (Gravis Gamepad Pro) input device. Participants were instructed that two of the buttons corresponded to “p” and “d”. The centrifuge span so that the participant's right hand was facing into the wind and participants found this rather cold and so, for the centrifuge conditions, they wore a glove with the fingers cut out on their right, performing hand.Participants lay on their back on the centrifuge bed with their knees bent and monitoring equipment for heart rate, breathing and blood pressure were connected. The hood containing the screen was positioned over their heads. A gravitational state was chosen pseudo-randomly from the list of states to be used  and the machine was spun up to speed which took up to a minute depending the magnitude of the transition. Constant speed was maintained for 30 sec before the experiment began.Once the steady state had been reached, participants viewed a background/character combination for 500 ms after which a grey screen of the same mean luminance appeared with a 0.45° diameter, central fixation spot. Following the disappearance of the stimulus, participants pressed a button to indicate which character they had seen: “p” or “d” (responses were not permitted while the stimulus was present). The next trial commenced after 150 ms. For a given background orientation, four PEST's were constructed initialized at 10° (restricted to the range 0° to 180°), 170° (restricted to the range 0° to 180°), 190° (restricted to the range 180° to 360°) and 350° (restricted to the range 180° to 360°) where 0° corresponds to the stem pointing towards the top of the screen (the “d” configuration). Participants were presented with these four PESTS x three visual stimuli in random order until all four PESTS terminated , which took between 10 and 17 minutes to complete for each body or centrifugal spin condition. Participants ran in four sessions, two separated by an interval of about an hour and then a complete repetition of the entire experiment a few days later. The two sessions contained the acceleration sequences  and . Which sequence was run first was randomized. Off-centrifuge experiments were run before and after each complete centrifuge session.Participants were tested while sitting in an upright position and lying on their left and right side viewing a similar display to the one used on the centrifuge. The posture order was selected randomly for each participant. The same background picture was presented on the screen at the same three visual angles as on the centrifuge (relative to gravity).http://www.yorku.ca/harris/centrifuge.xlsFor each combination of body tilt  or centrifuge acceleration (from 0 to 1 g) and visual background , the PSE indicated by each of the PESTs was obtained by averaging the value of the last three reversals. This gave two values for each “transition” between the “p” and “d” percept: one when the stem pointed into the left hemifield and one when it pointed into the left. The mean of the four PSE's was taken as the perceptual upright. These values were used to solve the vector geometry shown in In order to obtain the influence of vision and gravity on the perception of upright (PU) in our participants, we first obtained the direction of the PU with the directions signaled by vision, the body, and gravity separated by viewing a grey visual background or a background tilted 112° left or right relative to gravity with the person upright, on their side, and on their back (on the centrifuge before the centrifuge started to move). The average directions of the PU found for each of these variations are shown in Participants lay on a centrifuge  that wasThe influence of the visual background was assessed by comparing the effect of tilting the background 112° right and left. The visual effect was defined as the difference between the perceptual upright measured with the background tilted by these amounts. A paired-samples t-test indicated that the visual effect supine  was higher than the visual effect under 1 g centrifugation , t(9) = 2.033, p = 0.036, d = 0.643. A one-tailed p-value is reported due to the strong prediction of a reduction in the VE. A paired-samples t-test indicated that the visual effect under 1 g centrifugation  was not significantly different than the visual effect when upright , t(9) = 0.974 p = 0.355, n.s.We have previously shown that the perceptual upright can be well predicted from a vector sum of vision, the body and gravity Where −2). The lack of effect of the component of gravity outside the plane of the screen is also supported by the larger visual effect found when participants were lying supine (without centrifuge movement) both here and in previous studies We have shown that centripetal force applied along the long axis of the body is as effective at contributing to our sense of the perceptual upright as when standing with normal gravity (compare the red and black symbols at 1 g in The short-arm centrifuge generated a gravitational gradient along the long axis of the body. The force at the stomach was about twice what it was at the head in our set up. Some subjects may be more affected by the force at the level of the somatic graviceptors −2 (although studies have reported values ranging from 0.014 to 0.25 m.s−2−2 should be well above threshold. These values are compatible with Homick and Miller's conclusion that lunar gravity is an adequate stimulus for the otolith organs to define a gravitational vertical and to guide posture control For whole-body linear acceleration, the vestibular threshold is around 0.1 m.sA lower contribution of gravity corresponds to a higher relative significance applied to vision. Such an increase has also been observed in medicated Parkinson's patients We conclude that human centrifugation is a valid tool for investigating the effect of gravity on perceptual processes: 1 g applied along the long axis of the body by centrifugation produces comparable effects in the plane in which it was applied as 1 g applied by standing. We find a large discrepancy between physiological and functional thresholds from which we recommend caution when preparing for exposure to low gravity fields.


With the emergence of new high performance computation technology in the last decade, the simulation of large scale neural networks which are able to reproduce the behavior and structure of the brain has finally become an achievable target of neuroscience. Due to the number of synaptic connections between neurons and the complexity of biological networks, most contemporary models have manually defined or static connectivity. However, it is expected that modeling the dynamic generation and deletion of the links among neurons, locally and between different regions of the brain, is crucial to unravel important mechanisms associated with learning, memory and healing. Moreover, for many neural circuits that could potentially be modeled, activity data is more readily and reliably available than connectivity data. Thus, a framework that enables networks to wire themselves on the basis of specified activity targets can be of great value in specifying network models where connectivity data is incomplete or has large error margins. To address these issues, in the present work we present an implementation of a model of structural plasticity in the neural network simulator NEST. In this model, synapses consist of two parts, a pre- and a post-synaptic element. Synapses are created and deleted during the execution of the simulation following local homeostatic rules until a mean level of electrical activity is reached in the network. We assess the scalability of the implementation in order to evaluate its potential usage in the self generation of connectivity of large scale networks. We show and discuss the results of simulations on simple two population networks and more complex models of the cortical microcircuit involving 8 populations and 4 layers using the new framework. Models of large scale neural networks are an important tool for understanding the mechanics of the brain  allows the user to set up their own structural plasticity experiments for large scale networks.The rest of this work is divided into three major parts. The first describes the major elements of the structural plasticity algorithm and the set of tests that were designed in order to measure the performance of an implementation of this algorithm. We also present some use cases for the structural plasticity framework. In the second part we provide the results of the technical implementation in NEST and describe how the design matches the memory and speed requirements for large scale simulations. We also present results for the use cases described in the previous section. In the third part, we discuss the results of the implementation and performance tests.Some of this material has previously been presented in abstract form  and on dendrites (dendritic elements representing dendritic spines: receivers of synaptic activity) collectively called synaptic elements. Synaptic elements are created or deleted according to a homeostatic rule. In general, the homeostatic rule will create synaptic elements when the activity is lower than the desired setpoint and delete them when the activity is higher until the desired activity level is achieved. This homeostasis is represented by a curve which defines how quickly new elements are created or deleted according to the current level of electrical activity. The original work considers two types of growth curve, linear and Gaussian:Linear:Gaussian:z value increase (or decrease) by one. Newly-formed synaptic elements are initially vacant and available for synapse formation.A synaptic element is formed (or deleted) when the rounded down Update in connectivity. In every connectivity update, available synaptic elements allow the formation of new synapses and deleted synaptic elements dictate synapse breaking. Every available synaptic element has the same probability to be randomly chosen for a new connection. Synaptic elements to be deleted are also chosen in a uniformly random manner out from the pool of already connected elements. It is important to notice that in this algorithm when a synapse breaks due to the deletion of one synaptic element, the counterpart remains and becomes vacant again. This remaining counterpart can form a new synapse at the next update in connectivity. This effect models network rewiring by re-routing of axons or dendrites.An important characteristic of this algorithm, is that it relies on global communication to update the connectivity in the network, as available compatible synaptic elements must be matched during the simulation to create new connections. This must be taken into consideration for the design of any implementation of this model.−4elements∕ms for the excitatory elements of the inhibitory population and 1.0 × 10−4elements∕ms for all the other elements. The set point for desired calcium concentration in the excitatory population was defined as 0.05 Ca2+, while in the inhibitory population it was set to 0.2 Ca2+. The calcium concentration intake constant was set to β = 0.001 and the calcium concentration decay constant to τ = 10000.0 for all neurons. The post synaptic amplitude of individual synapses was set to 1.0 mV. External input was provided using a Poisson generator with a frequency of 104 Hz. The post synaptic amplitude of individual synaptic input was set to 0.01 mV. The simulation was run for 100 s, with a step size for the numerical integration of 0.1 ms. The updates in the network connectivity were performed every 10 ms. These values were chosen as they proved to be one parameter combination that allowed for stable self-organizing growth of the network toward the homeostatic equilibrium .To assess the scalability of the framework, we designed strong and weak scaling tests of the structural plasticity implementation. For all tests, networks with 80% excitatory and 20% inhibitory neurons were created. The growth rate for synaptic elements in the simulation was set to 4.0 × 10Weak scaling tests were performed for networks with 5000 neurons per node and settings of 1, 2, 4, 8, and 16 nodes, each node using 28 cores. Strong scaling tests were performed with a network of 100, 000 on the same hardware configurations as the weak scaling tests. Only physical cores were used, no simultaneous multithreading was enabled. A hybrid optimization approach was chosen, in which MPI is used for communication between nodes and OpenMP for intra node communication. All measurements were performed on the JUROPATEST cluster, which provides up to 70 nodes (T-Platforms V210s Blades), each with 2 × Intel(R) Xeon(R) CPU E5−2695 v3 (Haswell) with 14-core processors (2.30 GHz) and 128 GB DDR memory, running with Scientific Linux release 6.5 (Carbon).The main objective of the structural plasticity framework is to provide the user with a tool to model the dynamic creation and deletion of synapses between neurons of a neural network in a scalable manner. There are several applications in which structural plasticity can be used. In this section we detail two use cases as examples. The first use case shows the basic functionality of the framework and how it can be used to study the relationship between connectivity and activity. We also show how this simple set-up can model critical development periods in the network connectivity. The second example is a more complicated case with several populations, where the objective is to show how connectivity can be self-generated in a network by using the synaptic element growth curves as connectivity fitness rules. All simulations were carried out with NEST version 2.8.0 extended by our structural plasticity implementation.−4 elements∕ms. For the inhibitory neurons, η = 0.0, ϵ = 0.2 and ν = 1.0 × 10−4elements∕ms, except for the excitatory elements which had ν = 4.0 × 10−4elements∕ms. The connectivity in the system was allowed to evolve using a Gaussian growth curve for 3000 s, with an integration step of 0.1 ms and a delay of the connectivity update equal to 100 integration steps. The simulations were performed on a workstation with 8 Intel core i7 − 4770@3.4 GHz CPUs running openSUSE 13.1.In this initial use case, we generate a network with a total of 1000 leaky integrate and fire neurons, 80% excitatory and 20% inhibitory. For the excitatory neurons, η = 0.0, ϵ = 0.05 and ν = 1.0 × 10In this second use case, we create a four layer network based on the model of the cortical microcircuit proposed by Potjans and Diesmann . Each laIn the first example, we tune the growth rate to achieve an stable growth regime for the network connectivity. This means that the structural plasticity algorithm will stop creating and deleting synaptic connections when the desired mean activity is reached, and that this mean activity is actually reached on average in each population. In a second example, the growth rate provided leads to an unstable connectivity pattern, where the target mean electrical activities are never reached by all populations. A table containing the parameters for both cases can be seen in Appendix in Supplementary Material.A third example was run to illustrate a more common situation where there are some assumption about the connectivity in a network and where the structural plasticity framework can help to find a suitable balance between excitation and inhibition in the network. Here we used the original model of Potjans and Diesmann  and enabSimulations were performed on JUROPATEST (70 nodes with 2 × 14-core processors Intel(R) Xeon(R) CPU E5−2695 v3 (Haswell) at 2.30 GHz and 128 GB DDR memory, running with Scientific Linux release 6.5) and JURECA .The implementation of the structural plasticity algorithm described in this work is based on the version 2.8 of the NEST software Eppler et al. . In accoArchiving_Node class, which is the general interface for all neurons, was modified and new variables to store the of the intracellular calcium concentration, the calcium decay and calcium intake constants were added. The Archiving_Node::set_spiketime method was also modified to update the calcium concentration according to the first case defined in (1), which is performed at every time the neuron spikes. The Node class was modified by adding the method Archiving_Node::update_synaptic_element. This method updates the calcium concentration according to the second case defined in (1). This method is called by the Scheduler class when every synaptic update interval is reached.Update in electrical activity and intracellular calcium concentration. The SynapticElement was created in order to represent the connection points for the neurons. The class GrowthCurve was also created in order to define the homeostatic rules which guide the creation and deletion of synaptic elements. Currently, the available growth dynamics are based on either a linear or a Gaussian growth curve. The linear growth curve uses an exact integration method to update the number of synaptic elements, while the Gaussian growth curve uses a forward Euler integration method. The framework can be further extended by the user to incorporate more complex element growth dynamics models. An example of such curves is shown in Figure Archiving_Node class now incorporates a map data structure to store the synaptic elements. The method Archiving_Node::update_synaptic_element takes care of updating the number of each of the synaptic elements in the map using the value of the calcium concentration at the time of the call and the corresponding growth curve. The method Archiving_Node::decay_synaptic_element_vacant takes care of deleting a percentage of the unused or vacant synaptic elements on every call. Both methods are called by the Scheduler at the end of every synapse update interval.Update in synaptic elements. The first step taken in order to design and develop a framework for synaptic elements  was to redefine synapses in such a way that they can now be described using connection elements. This description can be applied to every available neuron model in NEST for generating electrical activity. The design also considers that the users can define their own synaptic elements and their corresponding growth dynamics. The class StructuralPlasticityManager class was implemented. At the end of every synapse update interval, the Scheduler calls the the newly implemented structural plasticity connectivity manager via the Network class. The StructuralPlasticityManager determines, for each neuron, how many vacant synaptic elements are available for new synapse formation and how many deleted synaptic elements caused synapse breaking. Then it makes use of the ConnBuilder in order to create or delete connections. For this, the ConnBuilder was extended to include the new methods ConnBuilder::sp_disconnect_ and ConnBuilder::sp_connect_. Once new synapses are formed, synaptic elements are tagged from “vacant” to “connected.” It is important to notice that when a synapse breaks due to the deletion of one synaptic element, the counterpart remains and becomes vacant again. This remaining counterpart can form a new synapse at the next update in connectivity. This effect preserves the network rewiring capabilities of the original formulation. A detailed diagram of how the new calls are integrated into the normal simulation flow of NEST can be seen in Figure Update in connectivity. To coordinate the changes in the structure of the network, a new An important feature that we implemented to simulate structural plasticity in NEST is the ability to create and delete synapses during the simulation time. Our new implementation of the connection management overcomes the limitation of the NEST simulator that currently models networks with a fixed connectivity. We have implemented the dynamic creation and deletion of synapses using the new connection framework released in version 2.6.0. The new connection framework improves memory usage to store connection data and reduces the computation time needed to create a connection.−4elements∕ms will result in an exchange of data that is sufficiently low rate so as not to impact the scalability of the simulator as a whole. At the end of each connectivity update step, the number of created/deleted synaptic elements per neuron are communicated to all MPI processes and a global shuffle subsequently assigns the new pairs of neurons that should be connected, and likewise chooses existing connections for deletion. In the current implementation, no topological constraints are taken into account while deciding which neurons will be connected. The probability of two neurons connecting to each other depends solely on the number of available compatible synaptic elements between them. The actual creation and deletion of the synapses is finally done in parallel using the NEST connection framework. As stated before, a single update in connectivity should not produce a major modification of the network. That means that only a small part of the neurons should create or delete a synaptic element between two updates in connectivity.The main limitation of the structural plasticity algorithm described by Butz and van Ooyen  is that It is important to highlight that the usage of global communication is a characteristic of the technical implementation of the algorithm and is not related to the functionality of the model. If topology was to be taken into account, the ability of a neuron to connect to any other would be limited by the constraints imposed by its relative position to others. Global communication would still be used by the implementation, but only relevant information would be taken into account to define the connectivity. The local homeostatic rules only define the creation or deletion of synaptic elements per neuron. The number of available synaptic elements is transmitted globaly and the synaptic plasticity manager takes care of forming new synapses or deleting existing ones based on this information.The update of electrical activity and of the number of synaptic elements is performed by every individual neuron and therefore benefits from the parallel framework already implemented in NEST. Indeed, the NEST software has already demonstrated its high scaling properties on supercomputer, including the JUQUEEN system  was extended to allow users to easily set up the structural plasticity parameters. It is important to highlight that the user can enable structural plasticity inside the simulation and then disable it when the network has achieved a desired connectivity pattern or activity level. The user can now also delete synapses even without enabling structural plasticity, in a similar way as the connect functions work in NEST.In this section we will introduce the high level functions that are introduced into NEST with the structural plasticity framework using PyNEST.In order to set up the network using structural plasticity, one first needs to define the time at which updates in the structure of the network should take place as follows:   nest.SetStructuralPlasticityStatusThe next step is to define the synapses which can be dynamically modified by the structural plasticity manager during the simulation. This is achieved by:   nest.SetStructuralPlasticityStatusHere, two types of synapses are being defined, one for the excitatory synapses and another one for the inhibitory synapses. It is important to notice that in this definition, a name for the post and pre synaptic elements is also specified. This allows the structural plasticity manager to create new synapses of the type specified in model when synaptic elements related to this label become available. This way of setting up the dynamic synapses also allows the user to define static connectivity constraints in the network. This can be achieved by using one synapse model which is not registered for structural plasticity to define this fixed connectivity. For the moment, no other constraints in connectivity like indegree or outdegree ranges can be specified. Nevertheless, thanks to its flexible design, the model can be extended to add new constraints.Next step involves defining the growth curves for the synaptic elements defined above. This is done as follows: growth_curve_e_e = {    'growth_curve': “gaussian”,  'growth_rate': 0.0001,  'continuous': False,  'eta': 0.0,  'eps': 0.05,}2+, and the desired calcium concentration is set to ϵ = 0.5 Ca2+. Finally, the rate at which the synaptic elements will grow is ν = 1 × 10−4elements/ms. Independent growth curves can be created for each synaptic element.This is an example of a Gaussian growth curve where the minimum level of calcium concentration required to start generating synaptic elements is η = 0.0 CaNow that we have defined the growth curve, we can assign this growth curve to the synaptic elements that each neuron will be able to grow. After that, we create the neurons and let NEST know that these synaptic elements are linked to the neurons: synaptic_elements = {        'Den_ex': growth_curve_e_e,      'Den_in': growth_curve_e_i,      'Axon_ex': growth_curve_e_e,}nodes = nest.Createnest.SetStatusIn this case we are creating the neurons pertaining to the excitatory population. Each neuron has three types of synaptic elements, one dendritic excitatory, one dendritic inhibitory and one axonal excitatory.The final step is to enable structural plasticity and simulate:  nest.EnableStructuralPlasticity  nest.Simulate(t_sim)A complete PyNEST example which describes how to create a network with two populations, enable structural plasticity and simulate the network is available as Supplementary Material for this paper.9 neurons, it is important to verify that updating the number of elements and the deletion and formation of synapses does not restrict the expected scaling, at least in the desired regime of up to 106 neurons. Updates in synaptic elements and connectivity make use of MPI's “AllGather” communication scheme to communicate the data. This collective communication is also used by the NEST kernel to communicate the spiking activity between the neurons during the simulation. Although AllGather implements communication between all processes, it is very unlikely that a huge amount of data has to be communicated when a reasonable growth rate of around 10−4elements∕ms because updating the number of synaptic elements and the connectivity are very slow processes compared to the update in electrical activity.While the update in electrical activity has been proven to scale up to 10Figure Figure These results show that the introduction of the new structural plasticity framework into NEST has no impact in the scalability of the simulation up to a network size close to that of a cortical column if a suitably low growth rate is selected.The upper panel of Figure The lower panel of Figure In this network setting, the inhibitory population has a higher level of activity than the excitatory population. It is important to remember that the probability of two neurons connecting depends only on the number of available compatible synaptic elements between them. At the start of the simulation, the inhibitory population must offer more post-synaptic elements for excitatory synapses than the excitatory population, otherwise the excitatory population would reach equilibrium first and cease to create excitatory pre-synaptic elements. As a result, not enough excitatory synapses would be created to the inhibitory population and it would never reach the desired level of activity. It is important to remember that the structural plasticity parameter space is broad and a certain amount of exploration is required to discover combinations for each synaptic element which take the network to equilibrium. However, there is in general no unique combination of parameters leading to equilibrium, and different equilibrium combinations will typically produce different connectivity patterns. At this point, biological constraints must be applied to choose between them.In the case of the cortical microcircuit model described in 2.3.2, Figure The search space of connectivity parameters for this model of the cortical microcircuit is large as each setup requires 64 values to be defined. If a brute force exploration would be performed on these parameters by simulating each combination for 1 biological second, only 1−2 values per parameter could be considered before more biological seconds would be simulated than using the structural plasticity approach. When adequate synaptic element growth curves are defined, the structural plasticity framework allows a progressive exploration of the space in which the dynamics of the the 8 populations are balanced at every step, thus providing an efficient way to find stable connectivity combinations.Figure A second case was also explored, in which parameters lead to unstable network activity are chosen. Figure To study the behavior of the structural plasticity algorithm on partially pre-connected networks, another simulation was set in which the initial conditions in connectivity for the structural plasticity algorithm were those specified in the original model of Potjans and Diesman. The network was simulated without plasticity for an initial period of 30 s in order to allow the calcium concentration reach an initial stable value. The evolution of the calcium concentration in all layers after the structural plasticity algorithm was enabled can be seen in Figures In this paper we have described the implementation of a framework of structural plasticity for the neural network simulator NEST. We show that the framework is scalable and can be used to model the dynamical creation and deletion of synapses inside a large scale network guided by simple homeostatic rules.This work also presents some use cases for the framework and some of its potential applications. Researchers can now use structural plasticity in NEST to generate the connectivity of a network from scratch, defining homeostatic rules, in form of synaptic element growth curves, which may vary according to their needs. The shape of the growth curve defines the speed with which new synaptic elements are created, and as a result, defines the acceleration at which calcium is stored inside the neuron. The relationship between the growth speed at certain level of calcium concentration of excitatory and inhibitory elements is fundamental to achieve stable setups under the model of structural plasticity. As is has been shown, some parameter combinations lead to unstable activity in the network. There are cases where the desired average electrical activity will never be reached by the system. In other cases the average electrical activity will oscillate continuously or suddenly go out of bounds. This relationship depends also on the size of the network and the neuron model used. As a consequence, some care is required in navigating the parameter space in order to achieve desired results.The example of the two population network illustrates how this framework can be used to understand the interaction between activity and the creation of synapses. The behavior observed in the simulation can be used to model how inhibition triggers critical periods of connectivity during development of neural networks Hensch, . During In the specific case of the cortical microcircuit presented in this work, we are able to see some similarities and differences between the results obtained by simulating with the structural plasticity framework and the data reported in Potjans and Diesmann . One of Another visible difference is that the excitatory population of layers 5 and 6 show a higher number of connections than the ones shown in the original work. On the other hand, connections from and to the inhibitory population of layer 5 and layer 2/3 are well fit. Except from connections between the inhibitory and excitatory populations of layer 4, connections from and to layer 4 are also well predicted.In this paper we describe a framework which can be used to study structural network dynamics. The focus of this paper is on the technical implementation. It is not the scope of the present work to perform a deep analysis of the biological results that can be obtained using this framework. However, we provide some examples of how the framework can be used, its capacities and limitations. This implementation gives researchers flexibility to explore complex connectivity dynamics by extending the synaptic elements growth rules. As our implementation is integrated into NEST, simulations using structural plasticity can also be combined with other features available in the simulator. For example, the user may take into account dynamic synaptic weights by mixing this framework with synaptic plasticity. The framework can also be further extended using the current topology framework in NEST in order to constrain connectivity by relative position.We also show that the structural plasticity algorithm is able to solve the complex balance of interaction between layers with different levels of electrical activity when partial information of the connectivity is available. This result is very promising, as it shows that given the right growth rules, it would now be possible to reconstruct connectivity inside a network without having exact anatomical information. We therefore conclude that our approach represents a novel and useful technique to close the current gaps in information about the connectivity in certain regions of the brain.SD worked on the implementation of the structural plasticity framework in NEST, simulated the use cases and performed the scalability tests. MN did most of the implementation of the structural plasticity framework in NEST and assessed the simulations. MB gave the theoretical guidance regarding the structural plasticity algorithm and the use cases. AM gave scientific and theoretical guidance on the simulation and implementation of the framework.This work was supported by the Helmholtz Association through the Helmholtz Portfolio Theme “Supercomputing and Modeling for the Human Brain” and its Initiative and Networking Fund, and by the Jülich Aachen Research Alliance (JARA).The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.


A goal function approach is used to derive an extension of Murray’s law that includes effects of nonlinear mechanics of the artery wall. The artery is modeled as a thin-walled tube composed of different species of nonlinear elastic materials that deform together. These materials grow and remodel in a process that is governed by a target state defined by a homeostatic radius and a homeostatic material composition. Following Murray’s original idea, this target state is defined by a principle of minimum work. We take this work to include that of pumping and maintaining blood, as well as maintaining the materials of the artery wall. The minimization is performed under a constraint imposed by mechanical equilibrium. We derive a condition for the existence of a cost-optimal homeostatic state. We also conduct parametric studies using this novel theoretical frame to investigate how the cost-optimal radius and composition of the artery wall depend on flow rate, blood pressure, and elastin content There is a long-standing hypothesis that the architecture of the vascular system is governed by the physiological principle of minimum work Murray . The infThe blood vessel wall mainly consists of elastin, collagen, and smooth muscle Constituents that degrade, (ii)Constituents that neither degrade, The set of constituent indices belonging to class (i) and (ii) are denoted by We recognize different timescales in the process of growth and remodeling of the vascular system. The high-frequency scale is that of the heartbeat. It was shown in Satha et al.  that Eq.a et al. . Complemquations  and 6)  \documenquations 8\documenIntroducing Eq.  into a tAs proposed by Murray , it is aWe assume that the metabolic cost of the materials that constitute the vessel wall is proportional to the amount of each constituent, i.e., there are constants nt Sect. , it is pnt Sect.  by the cThere is also a metabolic cost for the blood. This is again taken as proportional to the volume, i.e., it is proportional to Finally, we take into account the energy per unit time consumed by the heart to maintain a certain volumetric flow rate. If we assume that the Hagen–Poiseuille equation governs the flow, the power per unit length of blood vessel required to overcome the viscous drag is Taber 13\documeThe problem we are considering is thus to minimize the total cost P in Eq. , we get The model is next simplified by assuming that the blood vessel wall consists of two constituents only: elastin, For the two constituents, ‘e’ and ‘t,’ we can express the equilibrium equation  as18\doc and Eq.  was usedIf we assume that the metabolic cost of the vessel wall is much smaller than that of the blood, w Murray . This rew Murray  to give The cost-optimal target geometry and composition of the vessel wall are found at the minimum stationary point of the goal function. The locus of this stationary point depends on the parameters of the goal function, including pressure arteria radialis) and the common carotid artery (arteria carotis communis). Previous in vivo measurements on normotensive subjects are used, giving ensemble averages for the vessel radius The parameters of our model are quantified using data for the radial artery (mentclass2pt{minima et al. . We use a et al.  for the a et al.  for the mentclass2pt{minimThe stretches in the circumferential, radial and longitudinal directions are mentclass2pt{minimmentclass2pt{minimThe parameters, u et al.  estimatent Taber . We thusby Taber  to be \dIn this section, we consider the effects of the volumetric flow rate, pressure, and elastin content on the radius ing Eqs.  through ing Eqs. , and thesing Eq. .From the point of view of growth stability, it is of great interest to assess whether the stationary points of the goal function are minima. With the prototypical values from Table It has been established experimentally that the volumetric flow rate has a strong impact on the blood vessel radius (Brownlee and Langille mentclass2pt{minimmentclass2pt{minimWhen the cost of wall materials is taken to be zero, mentclass2pt{minimmentclass2pt{minimmentclass2pt{minimWhen examining the relation mentclass2pt{minimmentclass2pt{minimThe rise in the amount of ‘t’-material for low-volume flows corresponds to the elastin being in a state of compression, requiring additional ‘t’-material, with constant stress When the cost of the wall materials is taken to be zero, entclass1pt{minimaentclass1pt{minimaentclass1pt{minimaUnder normal circumstances, with a typical pressure entclass1pt{minimaentclass1pt{minimaAlthough the elastin content is essentially constant (Tsamis et al. Figure For the case To demonstrate the general applicability of the proposed model, two types of arteries, the radial artery and the common carotid artery, are compared. These arteries are very different in terms of diameter and blood flow, but have a similar transmural pressure. The fraction of elastin is much greater in the carotid artery Table .The predicted variation of the vessel radius mentclass2pt{minimmentclass2pt{minimmentclass2pt{minimIn the cases of pressure dependence and elastin content dependence, the radial and carotid arteries display the same qualitative behavior, which clearly differs from Murray’s law Figs. a–d, 3a–dThe design of the vascular system is assumed to be governed by the physiological principle of minimum work Murray . It is tWe have shown that there exists a minimum stationary point for a wide range of the volumetric flow rate and the pressure around the prototypical parameter values for the radial and the common carotid artery. In theory, however, this minimum could be lost for a strongly strain-stiffening elastin fraction.Taking the cost of wall materials into account reduces the radius of the target homeostatic state and also renders this target radius pressure-dependent. A reduction in the amount of elastin in the artery wall reduces the radius of the target homeostatic state.The greatest value of the present work may be its ability to depict the variations of the target homeostatic state under dynamic flow conditions. This theoretical frame can then be integrated into models for growth and remodeling(Satha et al.


In recent years, deep neural networks (DNN) have demonstrated significant business impact in large scale analysis and classification tasks such as speech recognition, visual object detection, pattern extraction, etc. Training of large DNNs, however, is universally considered as time consuming and computationally intensive task that demands datacenter-scale computational resources recruited for many days. Here we propose a concept of resistive processing unit (RPU) devices that can potentially accelerate DNN training by orders of magnitude while using much less power. The proposed RPU device can store and update the weight values locally thus minimizing data movement during training and allowing to fully exploit the locality and the parallelism of the training algorithm. We evaluate the effect of various RPU device features/non-idealities and system parameters on performance in order to derive the device and system level specifications for implementation of an accelerator chip for DNN training in a realistic CMOS-compatible technology. For large DNNs with about 1 billion weights this massively parallel RPU architecture can achieve acceleration factors of 30, 000 × compared to state-of-the-art microprocessors while providing power efficiency of 84, 000 GigaOps∕s∕W. Problems that currently require days of training on a datacenter-size cluster with thousands of machines can be addressed within hours on a single RPU accelerator. A system consisting of a cluster of RPU accelerators will be able to tackle Big Data problems with trillions of parameters that is impossible to address today like, for example, natural speech recognition and translation between all world languages, real-time analytics on large streams of business and scientific data, integration, and analysis of multimodal sensory data flows from a massive number of IoT (Internet of Things) sensors. N neurons to N neurons significant acceleration can be achieved by minimizing data movement using local storage and processing of the weight values on the same node and connecting nodes together into a massive N×N systolic array  the problem can be reduced therefore to a constant time O(1) independent of the array size. However, the addressable problem size is limited to the number of nodes in the array that is challenging to scale up to billions even with the most advanced CMOS technologies.Deep Neural Networks  technologies, such as phase change memory  time complexity, but only for two out of three cycles of the training algorithm.The backpropagation algorithm is composed of three cycles, forward, backward, and weight update that are repeated many times until a convergence criterion is met. The forward and backward cycles mainly involve computing vector-matrix multiplication in forward and backward directions. This operation can be performed on a 2D crossbar array of two-terminal resistive devices as it was proposed more than 50 years ago  and xi is the activity at the input neuron, δj is the error computed by the output neuron and η is the global learning rate.where local and parallel update on an array of two-terminal devices that can perform both weight storage and processing (RPU) we first propose to significantly simplify the multiplication operation itself by using stochastic computing techniques  are translated to stochastic bit streams using stochastic translators (STR). Then they are sent to the crossbar array where each RPU device changes its conductance (gij) slightly when bits from xi and δj coincide. In this scheme we can write the update rule as follows.In order to implement a  Gaines, . It has  Gaines, . Figure BL is the length of the stochastic bit stream at the output of STRs that is used during the update cycle, Δwmin is the change in the weight value due to a single coincidence event, n represents the bit position in the trial sequence. The probabilities that Cxi and Cδj, respectively, where C is a gain factor in the STR.where Ai) and columns (Bj), respectively. As opposed to a floating point number encoded into a binary stream, the corresponding number translated into a stochastic stream is represented by a whole population of such pulses. In order for a two-terminal RPU device to distinguish coincidence events at a cross-point, its conductance value should not change significantly when a single pulse amplitude is half of the switching voltage of the device (VS). However, when two pulses coincide and the RPU device sees the full voltage (VS) the conductance should change by a nonzero amount Δgmin. The parameter Δgmin is proportional to Δwmin through the amplification factor defined by peripheral circuitry. To enable both up and down changes in conductance the polarity of the pulses can be switched during the update cycle as shown in Figure xi> 0 cases the signed multiplication can be performed by populating the rows corresponding to xi> 0 during both up and down cycles while the columns are populated selectively either at the up or the down cycle depending on the sign of δj. Similar operation can be repeated if there exists negative values (xi < 0) for some of the rows. The proposed pulsing scheme allows all the RPU devices in an array to work in parallel and perform the multiplication operation locally by simply relying on the statistics of the coincidence events, thus achieving the O(1) time complexity for the weight update cycle of the training algorithm.One possible pulsing scheme that enables the stochastic update rule of Equation (2) is presented in Figure To test the validity of this approach, we compare classification accuracies achieved with a deep neural network composed of fully connected layers with 784, 256, 128, and 10 neurons, respectively. This network is trained with a standard MNIST training dataset of 60,000 examples of images of handwritten digits , the learning rates need to match. In the most general form the average change in the weight value for the stochastic model can be written as.BL, Δwmin, and C that should be adjusted to match the learning rates that are used in the baseline model.Therefore the learning rate for the stochastic model is controlled by three parameters BL would decrease the error, but in turn would increase the update time. In order to find an acceptable range of BL values that allow to reach classification errors similar to the baseline model, we performed training using different BL values while setting Δwmin = η∕BL and C = 1 in order to match the learning rates used for the baseline model as discussed above. As it is shown in Figure BL as small as 10 is sufficient for the stochastic model to become indistinguishable from the baseline model.Although the stochastic update rule allows to substitute the multiplication operation with a simple AND operation, the result of the operation, however, is no longer exact, but probabilistic with a standard deviation to mean ratio that scales with BL Δwmin and this condition may happen if the probabilities of generating pulses from STRs (Cxi and Cδj) are close to unity or larger. The effect of this clipping in the weight update is also taken into account in our simulations and does not degrade the performance as shown in Figure BL as small as 10.In addition, for the stochastic update rule the change in the weight value for a single update cycle is bounded by k ≈ 1 correspond to a saturating type non-linear response, when k = 0.5 the response is linear as typically considered for an ideal memristor  time complexity.These results validate that although the updates in the stochastic model are probabilistic, classification errors can become indistinguishable from those achieved with the baseline model. The implementation of the stochastic update rule on an array of analog RPU devices with non-linear switching characteristics effectively utilizes the locality and the parallelism of the algorithm. As a result the update time is becoming independent of the array size, and is a constant value proportional to O(1) time complexity. In order to determine the device specifications required to achieve the ultimate acceleration when O(1) time complexity is reached, we performed a series of trainings summarized in Figure k = 0 and BL = 10 is used. In order to match the learning rates used for the baseline model the xi and δj are translated to stochastic streams with C defined as Various materials, physical mechanisms, and device concepts have been analyzed in view of their potential implementation as cross-bar arrays for neural network training  is proportional to Δwmin (and wij) through the amplification factor defined by peripheral circuitry, the number of coincidence events required to move the RPU device from its minimum to its maximum conductance value can be derived as (max(gij) − min(gij))∕Δgmin = (max(wij) − min(wij))∕Δwmin. This gives a lower estimate for the number of states that are required to be stored on an RPU device as 600.To determine minimum and maximum conductance values that RPU devices should support for the algorithm to converge, a set of training curves is calculated as shown in Figure gmin, the Δwmin value used for each coincidence event is assumed to be a random variable with a Gaussian distribution. Corresponding results are shown in Figure wmin value is set to 0.001. In our models it is allowed to have coincidence events that result in a change in the opposite direction if the random value is less than −1 (or −100%). As it is seen, the algorithm is robust against the randomness on the weight change for each coincidence event and models with a standard deviation below 150% of the mean value reach acceptable 0.3% error penalty.In order to determine the tolerance of the algorithm to the variation in the incremental conductance change due to a single coincidence event Δgmin, is introduced. In this case the Δwmin used for each RPU device is sampled from a Gaussian distribution at the beginning of the training and then this fixed value is used throughout the training for each coincidence event. For all stochastic models in Figure wmin value of 0.001 is used while the standard deviation is varied for each model. In our models it is allowed to have some devices that perform updates in the opposite direction throughout the training if the random value is less than −1 (or −100%). Results show that the algorithm is also robust against the device-to-device variation and an acceptable error penalty can be achieved for models with a standard deviation up to 110% of the mean value.For stochastic models illustrated in Figure To determine tolerance of the algorithm to the device-to-device variation in the upper and lower bounds of the conductance value, we assumed upper and lower bounds that are different for each RPU device for the models in Figure Fabricated RPU devices may also show different amounts of change in the conductance value due to positive In order to determine tolerance of the algorithm to the device-to-device variation in asymmetry, as opposed to a global asymmetry considered in Figures Analog computation is sensitive to various noise sources such as thermal noise, shot noise, etc that are all additive and can be modeled as a single unbiased Gaussian noise. Influence of noise penalty during the weight update cycle is already considered in Figures gmin.The radar diagram in Figure Combined contribution of all parameters considered in Figure This 3.0% penalty is higher than a simple additive impact of uncorrelated contributions indicating that at least some of these parameters are interacting. It opens the possibility of optimizing the error penalty by trading off tolerances between various parameters. For example, the model that combines only parameters C, D, and E at the threshold, as shown by curve 2 in Figure O(1) time complexity, the device mismatch parameter H and the noise parameter I can be co-optimized to reduce the error penalty. The resulting model illustrated by the blue shaded area bounded with curve 3 in Figure Among the parameters of Figure gmin(gij). Such a behavior introduces an update rule that depends on the current weight value which can be written as Δwmin(wij). We performed simulations including a weight dependent update rule with different functional forms for Δwmin(wij) that included a linear or a quadratic dependence on weight value. In the first set of simulations we assume that the updates are balanced for any given weight value such that gmin on gij is not an important parameter as no additional error penalty above 0.3% is observed even when Δwmin is varied by a factor of about 10. However, when we introduce weight dependent updates that are not balanced, we observe additional error penalty as this condition violates imbalance criteria H.In addition to the parameters considered above, RPU device may also show dependence on the conductance change on the stored conductance value ΔN×N can be approached when O(1) time complexity operation is enforced. In this case overall acceleration is proportional to N2 that favors very large arrays. In general the design of the array, peripheral circuits, and the whole system should be based on an optimization of the network parameters for a specific workload and classification task. In order to develop a general methodology for such a design, we will use the results of the analysis presented above as an example with understanding, however, that the developed approach is valid for a larger class of more complicated cases than a relatively simple 3 layer network used to classify the MNIST dataset in Figures The ultimate acceleration of DNN training with the backpropagation algorithm on a RPU array of size nm, and a width of 200 nm. Corresponding typical line resistance is about rline = 0.36 Ω∕μm with parasitic capacitance of cline = 0.2 fF∕μm. Assuming a reasonable 1 GHz clock frequency for the pulses used during the update cycle, and allowing RC delay to be at most 10% of the pulse width (0.1 ns), the longest line length should be lline = 1.64 mm. Assuming a reasonable line spacing of 200 nm this results in an array with 4096 × 4096 RPU devices. Since the conductance values of RPU devices can only be positive, we assume that a pair of identical RPU device arrays is used to encode positive (wij) is proportional to a difference of two conductance values stored in two corresponding devices  stack in-between intermediate metal levels. This allows the top thick metal levels to be used for power distribution, and the lower metal levels and the area under the RPU array for peripheral CMOS circuitry. Typical intermediate metal levels in a scaled CMOS technology have a thickness of 360 Rdevice, we assume at most 10% voltage drop on the transmission line that is defined by N×Rline∕Rdevice, where Rline is the total line resistance equal to rlinelline. The contribution of the output resistance of the line drivers to the total line resistance can be minimized by proper circuit design. For an array size of N = 4096 the average RPU device resistance is therefore Rdevice = 24 MΩ. Using this resistance value, and assuming an operating voltage of 1 V for all three training cycles and on-average about 20% activity for each device that is typical for the models of Figures Parray = 0.28 W.In order to estimate an average RPU device resistance, Vin = 1 V pulses with a tunable duration. Pulse duration is a multiple of 1 ns and is proportional to the value of the input vector. Currents generated at each RPU device are summed on the columns (or rows) and this total current is integrated over the measurement time, tmeas by current readout circuits as illustrated in Figure Cint, and an analog-to-digital converter ADC. Note, that for time-encoded pulses, the time-quantization error at the input to the RPU array scales inversely with the total number of pulses and, therefore, it is a better approach compared to the stochastic pulsing scheme  is enough to eliminate corresponding error penalty.Operation of a single column (or row) during forward (or backward) cycle is illustrated in Figure We define a single RPU tile as a pair of arrays with 4096 × 4096 devices with peripheral circuits that support the parallel operation of the array in all three cycles. Peripheral circuitry includes ADCs, op-amps, STRs consisting of random number generators, and line drivers used to direct signals along the columns and rows. As shown in Figure V and 1 V at the input to the ADC, the corresponding bit resolution and voltage step required are 9 bits and 3.9mV, respectively. These numbers imply that the acceptable total integrated RMS voltage noise at the input to the ADC (or at the output of the op-amp) should not exceed 5.0mV.Neurons at the output layer perform a softmax NLF operation, that, when corresponding input is also restricted to |α| = 3, results in exceedingly large error as shown by curve 2 in Figure In order to estimate the acceptable level of the input referred noise the integration function of the op-amp should be defined. Voltage at the output of the op-amp can be derived asN devices are contributing simultaneously that makes it hard to design a circuit that would require either a very large capacitor or large voltage swing. However, for a given bounds |α| imposed on the NLF transformation and |wij| for the weight values, the output voltage should not necessarily exceed the level corresponding to simultaneous contribution of |α|∕|wij| devices. Since, as shown above, an acceptable bound |α| = 12 and |wij| = 0.6 is enough, the number N in Equation (4) can be replaced with 20. Assuming that Vout signal feeding into the ADC should not exceed 1 V, and the Rdevice is 24 MΩ, the choice of integrating capacitor Cint is dictated by the integration time tmeas and on/off ratio β. Figure tmeas. This noise level corresponds to the input referred noise of the op-amp calculated using standard noise analysis in integrator-based circuits .where β is the conductance on/off ratio for an RPU device. This equation assumes all I−V response, shot noise levels produced by the RPU array can vary. Assuming a diode-like model, total shot noise from a whole array scales as a square root of a number of active RPU devices in a column (or a row), and hence depends on an overall instantaneous activity of the array. The average activity of the network that is typical for the models of Figures Various noise sources can contribute to total acceptable input referred noise level of an op-amp including thermal noise, shot noise, and supply voltage noise, etc. Thermal noise due to a pair of arrays with 4096 × 4096 RPU devices can be estimated as tmeas of 80 ns for forward and backward cycles, ADCs operating with 9 bit resolution at 12.5MSamples∕sec are required. The state-of-the-art SAR-ADC , the total ADC area can be reduced to 1.64 mm2 with each ADC running at about 800MSamples∕sec. Since we assume that RPU device arrays are built on the intermediate metal levels on top of peripheral CMOS circuitry, the total tile area is defined by the RPU array area of 2.68 mm2 that leaves about 1.0 mm2 for other circuitry that also can be area optimized. For example, the number of random number generators used to translate binary data to stochastic bit stream can be significantly reduced to just 2 as no operations are performed on streams generated within columns (or rows) and evidenced by no additional error penalty for corresponding classification test (data not shown). Total area of a single tile therefore is 2.68 mm2, while the total power dissipated by both RPU arrays and all peripheral circuitry  can be estimated as 2.0 W, assuming 0.7 W reserved for op-amps and STRs.The tile area occupied by peripheral circuitry and corresponding dissipated power are dominated by the contribution from 4096 ADC. Assuming Jonsson, ,b that cTeraUpdates∕s given the 20 ns duration of the update cycle and 4096 × 4096 array size. This translates into power efficiency of 419TeraUpdates∕s∕W and area efficiency of 319TeraUpdates∕s∕mm2. The tile throughput during the forward and backward cycles can be estimated as 419TeraOps∕s given 80 ns for forward (or backward) cycle with power and area efficiencies of 210TeraOps∕s∕W and 156TeraOps∕s∕mm2, respectively. These efficiency numbers are about 5 orders of magnitude better than state-of-the-art CPU and GPU performance metrics  for forward (or backward) cycles that give in total about 90 GB/s unidirectional bandwidths that will also satisfy the update cycle communication requirements. This number is about 3 times less than the communication bandwidth in IBM Power8 CPU between a single core and a nearby L2 cache  time complexity for a single tile can be estimated as 51 GigaOps∕s assuming 80 ns cycle time and 4096 numbers generated at columns or rows. To support parallel operation of n tiles, compute resources need to be scaled by O(n) thus limiting the number of tiles that can be active at a given time to keep the total power envelop on a chip below 250 W. For example, a single core of IBM Power8 CPU (Stuecheli, GigaFLOP∕s that might be sufficient to support one tile, however the maximum power is reached just for 12 tiles assuming 20 W per core. Corresponding power efficiency for this design point (Design 1 in Table TeraOps∕s∕W. Same compute resources can be provided by 32 cores of state-of-the-art GPU (NVIDIA, TeraOps∕s∕W. Further increase in the number of tiles that can operate concurrently can be envisioned by designing specialized power and area efficient digital circuits that operate fixed point numbers with limited bit resolution. An alternative design (Design 3 in Table GigaOps∕s compute core will be capable of dealing with networks with as many as 1.6 billion weights and dissipate only about 22 W assuming 20 W from compute core and communication bus and just 2 W for RPU tiles since only one is active at any given time. This gives a power efficiency of 20 TeraOps∕s∕W that is four orders of magnitude better than state-of-the-art CPU and GPU.Compute resources needed to sustain O time com NVIDIA, , but witO time comO time comWe proposed a concept of RPU devices that can simultaneously store and process data locally and in parallel, thus potentially providing significant acceleration for DNN training. The tolerance of the training algorithm to various RPU device and system parameters as well as to technological imperfections and different sources of noise has been explored. This analysis allows to define a list of specifications for RPU devices summarized in Table We also presented an analysis of various system designs based on the RPU array concept that can potentially provide many orders of magnitude acceleration of deep neural network training while significantly decreasing required power and computer hardware resources. The results are summarized in Table The proposed accelerator chip design of Figure Most of the recent DNN architectures are based on a combination of many convolutional and fully connected layers with a number of parameters of the order of a billion. Our analysis demonstrates that a single RPU accelerator chip can be used to train such a large DNNs. Problems of the size of ImageNet classification that currently require days of training on multiple GPUs (Le et al., TG conceived the original idea, TG and YV developed methodology, analyzed and interpreted results, drafted and revised manuscript.The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.


A firewall is the most essential component of network perimeter security. Due to human error and the involvement of multiple administrators in configuring firewall rules, there exist common anomalies in firewall rulesets such as Shadowing, Generalization, Correlation, and Redundancy. There is a need for research on efficient ways of resolving such anomalies. The challenge is also to see that the reordered or resolved ruleset conforms to the organization’s framed security policy. This study proposes an ant colony optimization (ACO)-based anomaly resolution and reordering of firewall rules called ACO-based firewall anomaly mitigation engine. Modified strategies are also introduced to automatically detect these anomalies and to minimize manual intervention of the administrator. Furthermore, an adaptive reordering strategy is proposed to aid faster reordering when a new rule is appended. The proposed approach was tested with different firewall policy sets. The results were found to be promising in terms of the number of conflicts resolved, with minimal availability loss and marginal security risk. This work demonstrated the application of a metaheuristic search technique, ACO, in improving the performance of a packet-filter firewall with respect to mitigating anomalies in the rules, and at the same time demonstrated conformance to the security policy. A firewall is one of the most vital network defense components that can be used to filter unsolicited traffic. A packet-filter firewall can filter packets based on fields in the network layer and transport layer such as the source internet protocol (IP) address, destination IP address, source and destination port address, and protocol field. The firewall will perform its job of filtering packets based on a set of rules written by the administrator. The number of rules and the traffic that must be filtered depend upon the organization’s security policy. A firewall is typically placed at the network perimeter as shown in Fig. The security policy that must be enforced at the main office firewall is shown in Table Often, more than one administrator might be involved in writing or appending rules to the firewall. When the size of the ruleset grows, the complexity and interdependency of the rules increase and might be susceptible to errors, which can lead to anomalies. These anomalies are often unavoidable due to human error and often cannot be detected and corrected manually. There are four types of anomalies in packet-filter firewalls , 9, 2), , and  are correlated from Table , A rule is declared redundant if the action taken by the firewall on a packet does not change even when it is removed from the ruleset. For example, rule “8” in Table These anomalies often results in unintended behavior and may cause loss of availability and/or security risk to the organizational resources. Therefore detection and resolution of such anomalies in an efficient way is very much essential for any organization.The remainder of this article is arranged as follows: “An earlier study by Wool  revealedThe framework called “fast detect” ” . The results of experimentation conducted on several rulesets have proved that our approach has improved firewall performance when measured with important evaluation parameters such as the number of conflicts resolved, availability loss and security risk.A packet-filter firewall works on five fields. Each field has its range of values and can be considered operating in a five-dimensional continuous packet space. Manual identification of anomalies is very difficult. Several researchers have proposed methodologies to identify anomalies  s7 having different action. Furthermore, there is a segment covered by rule 5 and not covered by rule 6 and vice versa. Redundant rules can also be identified from the grid. For example, “Rule 1” is redundant because, even when rule 1 is removed, the action taken by the firewall for a packet falling in the segment space of rule 1 does not change. However, redundancy depends upon the order of the rules; hence, redundant rules cannot be removed at this stage from the grid but can be removed only after the reordering phase.In Table Some earlier works related to “packet-filter firewall policy anomalies,” which addressed the detection stage, and includes the following references  is set of Vulnerabilities in CS, The RL for a conflicted segment is calculated as shown in Eq. The CVSS is an open framework designed for calculation of the Risk involved in an organization. CVSS uses several metrics as discussed in Mell et al.  for calcOnce Segmentation, Conflict Group Formation, and Action Constraint Generation is performed, based on the results, the administrator can manually change the order of the rules to eliminate conflicts. However, changing the order of the rules manually will be a tedious task when the size of the policy is huge. Therefore, an automated mechanism is to be used to reorder the rules by segment sets and their action constraints. The authors in Hu et al.  used a cTF for a source IP address to establish a relationship between security policy and the resolver, which increases the chance of security policy conformation after resolving and reordering.The “Action Constraint Generation” is modified to include a “Action Constraint Generation” is automated.ACO is used to address reordering and redundancy removal without the need for an additional redundancy removal phase.n + 1 rules.Anomaly detection and resolution for a newly added rule can be quickly performed adaptively, which can save much time compared with running the tool for This work proposes adaptive and automated detection and resolution of firewall policy anomalies. The proposed modifications include the following:The authors in Hu et al.  used theTF is allocated to all of the sources that are trusted by the administrator to obtain the intended behavior from the firewall. TF is used as one of the parameters in computing the new RL of a conflicted segment CS is conflicting segment, N(CS) is Number of CS, s, and d as follows:Based on the security policy, a This work proposes a new and automated algorithm to generate action constraints that use five of the strategies shown in Table RV. The RV is calculated using Eq. TFs assigned by the administrator for the scenario depicted in Fig. The Modified RVs mentclass2pt{minimmentclass2pt{minimmentclass2pt{minimFive strategies from among those suggested in Table TF-based action constraint generation for the example scenario shown in Table RL′ for the conflicted segment s2 will be 0. Therefore, from the proposed algorithm, the action constraint for segment s2 will be “Allow” as shown in Fig. By employing the proposed The ACO algorithm is a metaheuristic  as a heuristic factor, which can be calculated as and when needed. The problem can be converted into a graph as shown in Fig. i is present node, j is next node, ij, ij, and After converting the problem into a two-dimensional mesh network, artificial ants are released at random nodes. The ants will traverse from one node to another by selecting next node at each step using probability calculated from two factors that are a heuristic factor and pheromone factor using Eq. dij is the distance between i and j.The heuristic factor depends upon the type of problem. For example, for the TSP, the heuristic factor is calculated using the formula shown in Eq. Lk is the total distance of the path traversed by ant k, and The parameters CRS. The CRS is nothing but the count of segments that satisfy the action constraints, which will be used in calculating heuristics for ACO as shown in Eq. After determining the action constraints, the goal is to find the best possible ordered combination of rules that produces the highest For example, in the grid representation shown in Table The rules are copied into Algorithm 3 shows the rule reordering process. This work also proposes a mechanism that adaptively reorders the existing rules when an administrator enters a new rule even after running the ACOFAME tool. The advantage is that much time will be saved when compared with running the tool for n + 1 rules again. The algorithm for adaptive reordering is shown in Algorithm 4. The input for this algorithm is the resolved and reordered ruleset after applying ACOFAME. When a new rule is entered by the administrator, it will be compared against the existing reordered ruleset If the new rule If the new rule If there exists an intersection or correlation among the new rule In this case, the new rule will not be inserted. The “if” condition of line number 11 of algorithm 4 will fail, and the new rule is sequentially checked with the remaining rules. Finally, if none of the cases match, then the new rule is appended to the existing reordered ruleset.q = 0.9. The initial value of the pheromone is set to 0.5. As of now, there are no standard benchmark packet-filter firewall rules available. Five rulesets were used, named Policy 1–5, as shown in Table Nping, network packer generation tool, was used to generate network traffic for testing. Nessus vulnerability scanner was used in the process of identifying vulnerabilities associated with the systems that belongs to the conflicted segments.The experiments were performed on an Intel Core 2 Duo CPU 2.6 GHz with 2 GB RAM and the Windows 7 Operating System. The free parameters used in the ACO are set to the following values on a trial and error basis, and this set of parameters are found to be suitable: The policies, the number of rules, the number of segments generated by the segmentation process and the time taken for segmentation are shown in Table availability loss, security risk, number of resolved conflicts, number of redundant rules eliminated, and the time taken by the algorithm.The parameters that are used for evaluation and comparison of the proposed system are Availability loss (AL) Hu et al. . Note that the Availability Loss after the reordering of Policy 1 with our proposed method is 0 because, after reordering Policy 1, the action taken by the firewall on conflicted segment S7 is “Allow,” and the generated action constraint is also “Allow.”Security Risk This parameter is helpful to measure the security risk to the organization’s network due to the firewall policy. It is calculated as shown in Eq. An example calculation of Security Risk for the ruleset shown in Policy 1Conflicting segments whose first vertical action in the segments is “Allow” must be identified. From Table For each segment of The packet space covered by Segment 3 is“* 172.19.55.121 * 10.12.32.23–10.12.32.26 *”In this packet space, there is one source, By substituting pre-calculated values of Security Risks of other rulesets are calculated similarly.The To prove the influence and importance of TF in reducing Availability Loss, the ALs of reordered policies proposed by the FAME method and our method are calculated and compared. The ALs of policies reordered with the help of the action-constraint generation methodology of FAME are provided in column 5 of Table Table The results shown in Table Availability Loss for each case. Best Case is true when the action performed by the firewall is the same as the organization’s intended action in the respective conflicted segments. Worst Case is true when the firewall “Denies” all of the packets that fall under the conflicted segments. Given Policy is the availability loss calculated for the policy under consideration before reordering. FAME is the availability loss obtained by the FAME algorithm  were correlated, and based on security policy, a new rule is added before rule 5 saying allow communication through the correlated part. The final resolved output is shown in Table In this study, an ACOFAME was proposed that can automatically detect and resolve packet-filter firewall anomalies. A relationship between the Security Policy and the resolver was established by introducing the concept of TF. The TF-based Action Constraint Generation has reduced the Availability Loss and increased the chance of the resolved ruleset conforming to the security policy. The bio-inspired Ant Colony Optimization algorithm proved successful in finding the best possible reordering of firewall rules, which can resolve more conflicts than existing methods can at a cost of increased computational time for larger rule sizes. ACOFAME also eliminated the need for a separate rule redundancy phase. The adaptive reordering technique will be helpful in reducing the significant amount of time required to mitigate anomalies when a new rule is appended. This research proposes a practically feasible and implementable solution that will be of great help to administrators and organizations that maintain a packet-filter firewall. A limitation that is worth mentioning is that the source IP address can be subject to spoofing attacks and must be addressed separately. As a future work, other bio-inspired optimization techniques can be considered and compared. This work can also be extended to distributed firewalls. Furthermore, research might be warranted to inquire about other possible Action Constraint Generation strategies such as High Authority Override or other techniques, and situational-based usage of strategies can be verified.


Dear Editor,We read with interest the recent paper about S100B protein as a biomarker for prediction of brain death by Shakeri et al.  and S100B protein increases as has been shown by values of Pearson correlation coefficient. This is a matter that can be considered in predicting the value of S100B protein and GCS instead of each other, specifically between primary GCS and final S100B level. 2). Despite the fact that our focus is on using S100B protein as a biomarker for predicting brain death; however, estimating the final value of S100B at the beginning of the study according to the GCS status is highly valuable; an issue which has been ignored by authors. When we are unable to measure S100B, or we want to calculate it earlier in the course, we can use it by the coefficient of determination equal to 0.85 . Such kind of comparison is conclusive. So, we cannot conclude that only S100B protein after 48 hours can predict brain death, major conclusion by the present study. In Table 3, it is not clear whether authors have compared three or four groups with each other?For exaggerating statistical difference between subgroups, we are highly prohibited from such two by two comparisons between subgroups. It will induce multiple comparison biases. Instead, we can use post hoc tests.


A simulation method for approximating spectral signatures of minced meat samples was developed depending on concentrations and optical properties of the major chemical constituents. Minced beef samples of different compositions scanned on a near‐infrared spectroscopy and on a hyperspectral imaging system were examined. Chemical composition determined heuristically and optical properties collected from authenticated references were simulated to approximate samples' spectral signatures. In short‐wave infrared range, the resulting spectrum equals the sum of the absorption of three individual absorbers, that is, water, protein, and fat. By assuming homogeneous distributions of the main chromophores in the mince samples, the obtained absorption spectra are found to be a linear combination of the absorption spectra of the major chromophores present in the sample. Results revealed that developed models were good enough to derive spectral signatures of minced meat samples with a reasonable level of robustness of a high agreement index value more than 0.90 and ratio of performance to deviation more than 1.4. There has been a resurgence of interest in developing objective methods for the simple and rapid analysis of raw materials and final products during quality assurance programs of meat and meat products. Being nominated for on‐line or at‐line implementations, optical method depending on interaction of light with the food samples has been one of the most successful techniques casted for food quality assessment to provide several quality details simultaneously  separated by air spaces and each layer is characterized by a refraction index (n) and an absorption coefficient (μa).As the spectrum of a biological material in the visible and NIR regions results from the overtones and combinations of O–H, C–H, and N–H groups' stretching vibrations , deoxyhemoglobin (Hb), melanin, cytochrome c oxidase, myoglobin, etc. These chromophores absorb more light in the ultraviolet and visible region than the longer wavelengths regions. Therefore, these chromophores can be largely ignored in the NIR range, as they contribute little to the overall attenuation , gives rise to scattering, refraction, and reflection  and it is usually considered to be around 1.4 for most biological specimens  represents the probability of a photon's energy being absorbed by the molecules per unit length. Absorption coefficient describes how far photon can penetrate into sample tissue before being absorbed. Absorption can be also described by particle density ρ and absorption cross section σa μT is the ratio of transmitted intensity to the incident intensity (I/Io), and the absorbance A (representing the loss in light intensity), is related to the transmittance in the form: The transmittance a is the molar extinction coefficient or molar absorptivity in the unit of cm−1(mol/L)−1 (or cm−1 M−1), and c is the concentration of the absorber or chromophore inside the sample in the unit of mol/L (or M). Sometimes one wishes to describe the absorption properties of a material that does not have a well‐defined concentration, so that an alternative concentration must be used. For example, if concentration c was measured in unit (mg/mL), an alternative extinction coefficient must be used, ε (cm−1 [mg/mL]−1). The product εc still has units of cm−1, and εcl is dimensionless. So, while the literature usually uses c (M), ε (cm−1 M−1), and l (cm), alternative units for c, ε, and l may be used, as long as εcl is dimensionless  of a chromophore i and the absorption coefficient of that pure chromophore is μia.. In case of a minced meat sample with three major chromophores , the previous equation takes the following form: fw, fp, and ff are mass fraction of water, protein, and fat with corresponding absorption coefficients of μw, μp, and μf, respectively.Combining previous equations leads to the following equation known as Beer–Lambert's law. As a fundamental theory for the measurement of chromophore concentration within a sample, this law relates the absorption of light to the properties of the sample through which the light is traveling.  Jacques . Alternal can hardly be measured. The product cl in the previous equation ceff, named as effective concentration.In case of intact sample examined in the reflectance mode of spectroscopy or hyperspectral imaging systems, the absorption can be easily obtained using equation μs can be used instead of absorption coefficient μa in equation In the basic Beer–Lambert model shown in equation Samples of minced beef with different concentrations of fat trimming were used as reference data . In other words, it describes the ratio between the maximum and minimum measurable light intensities from the sample. Dynamic range is not equal to digitization level such that a camera with a 12‐bit analog/digital (A/D) converter does not necessarily have 12 bits of dynamic range because this does not consider the noise that contains sensor readout noise and dark current noise. For simplicity, during this context of this study we considered the DV  only without going through more sophisticated details in the optical and hardware complexity. For example, camera used in the hyperspectral system was of a 12‐bit A/D converter, which provides digital count values in the range 0–4095.a and b are the gain and offset for each spectral channel (wavelength). Also, it is well‐known that the key relationship between the illuminating/incident irradiance (Fλ) and the reflected radiance (Iλ) is given by the following formula using spectral reflectance (Rλ): For quantitative assessment, it is preferable to convert the raw DV of the hyperspectral image data to physical quantities before using the data to interpret the composition of the sample. Important physical quantities include radiance, reflectance, or transmittance. As an image is a resultant of both illumination of the light source and reflected radiance from the sample, the DV registered by the camera could be converted to intensity values at any wavelength for any pixel in the image using the following formula IAll) is a sum of the upward reflected radiance from the sample (ISample) and any accompanying or complementary radiance (IComp) resulting from the surroundings or even from the camera dark current. Also, it is important to emphasize that the total reflected radiance received by the detector  values could be converted easily to absorbance (ASample) values called virtual absorbance or pseudoabsorbance to comply with the Beer–Lambert's law using the following expression: The resulting reflectance  of the examined sample. This can be written in a matrix form as: Although it is a smart method to find a sample's chemical composition nondestructively and without specific sample preparation, the conventional spectroscopy is unfortunately unable to provide composition gradients and to provide information about the heterogeneity of the samples being analyzed because it has virtually no spatial information and it only collects the aggregate amount of light reflected, emitted or transmitted from a small area of a sample (a single‐point measurement where the sensor is located). Accordingly, the approximation models assume a homogeneous distribution of the major constituents in the tested samples. The first method for approximating spectral signature of a minced meat sample depends on using the basic form of Beer–Lambert's law (Equations N) that mimics the scattering process. In this model, the fundamental optical characteristics such as absorption and scattering were exploited. As the analyzed samples were minced meat, it is assumed that the samples have a pile of N homogeneous layers separated by N−1 air spaces as the infinite reflectance is a simple function of the ratio between the absorption and the scattering coefficients. Scattering is described by the refractive index of sample materials (n) and N parameter. As water is the main component of the meat sample the refractive index was used in the model. The model based on the “plate model” developed by Allen et al.  is the transmissivity of a plane surface averaged over all directions of incidence and over all polarizations. It is a rather complex expression but it can be exactly calculated based on the refractive index n values at each single wavelength, transmission coefficient θ and incident angle α. The transmission coefficient θ at each single wavelength is related to the absorption coefficient through the following expression '. Hence, the average absorption coefficient μa was first calculated form equation μa = fwμw + fpμp + ffμf by using the mass fractions of water, protein, and fat and their corresponding absorption coefficients from relevant literatures Kou et al.  are estimated using the following equation according to Stock's homogeneous system: and N was assumed to equal 25 and the refractive index values at different wavelengths in the NIR range were calculated from equation ASample = log (1/RSample) being compared with the actual measured absorbance values of the samples to check the approximation accuracy of the models.In this study, the calculations assumes that the incident angle α was typically 45°, number of layers The absorption coefficient of pure water, protein, and fat as the major chromophores in meat samples in the NIR range are shown in Figure 2) groups in fatty acids  were available for the chromophores in consideration, the performance of the model could be positively improved in approximating the spectral signatures. Indeed, if one is interested in spectroscopic detection, then the minor contributions are important, but if one is interested in understanding light penetration into the sample and its behavior after penetration, then the minor contributions usually do not significantly perturb the light transport  and measured values to aggregate the magnitudes of the errors throughout the whole spectrum into a single parameter as a measure of accuracy. Variation in performance of spectral prediction for samples of different chemical compositions by the two proposed models should be evaluated with some objectively statistical measures. Therefore, the approximation capacity of the models was evaluated by calculating RMSE (root‐mean‐square error), the RPD (ratio of performance to deviation), and index of agreement On the other hand, the RPD is a capacity parameter that is defined as the relationship between the SD (standard deviation) of the original measured spectrum and the SE (standard error) (or ‘RMSE') of the approximated spectrum by the model Williams . The higd suggested by Willmott  are presented in Table d close to 1, RMSE close to zero and RPD >2. By deep contemplation of the results shown in Table The calculated values of these three statistical parameters  that can tell which model is superior over another in approximation. The values of d indicated that both models performed very well in approximating sample spectrum, but Model 2 was slightly more accurate when fat content was <24.67%. Above this threshold, both models performed almost the same in approximation with d values over 0.95. Consistent with the patterns of d values shown in Table Closeness to the original measured spectrum was evaluated using the values of agreement index (Indeed, by accurate estimation of sample's spectral signature by either model, the optical properties of each chromophore could be then predicted with acceptable accuracy if the difference between the original and approximated spectra was mathematically minimized. This of course could be modeled in a retrieval process to estimate the optical properties of the chromophores concomitant with their corresponding concentrations. This step is out of the scope of the current paper but should be considered in our future research endeavors in more details.In the near‐infrared domain, the absorption features resulting from the combination of harmonics and overtones of the fundamental frequencies of each chemical bond was used as the input to approximate the spectral patterns of minced meat samples of different chemical compositions. Two datasets of samples were examined from the literature, the first were spectral data in the NIR of 900–2400 nm for samples scanned by NIR spectroscopy and the second were spectral data in the range 950–1650 nm from samples scanned by NIR hyperspectral imaging system. The theoretical background of the optical properties was first elaborated followed by testing two different models. Models exploited the optical properties of the main chromophores in the meat samples and their corresponding concentration for approximating samples' spectral signatures. The models' performance was evaluated comprehensively and objectively by some statistical parameters to compare the original signatures of the samples with those computed by both models. Results revealed that developed models were accurate enough to derive spectral signatures of minced meat samples with a reasonable level of robustness and consistent with prevailing scientific theory. Possible alternatives of improving the capability of the simulation model should be introduced as the model's performance changes with the chemical composition of the samples by considering particle size, particle size distribution and compactness of the samples. However, the proposed model is very useful to give an overview of the spectral behavior of the examined samples as an expeditious way of quality evaluation. Indeed, when applied to intact samples, retrieval of the chemical composition is much more complex due to the strong absorption of water that masks the weakest absorption features of some major compounds such as protein and other minor components. Also, sample structure adds another tough burden of the problem and represents additionally confounding factors that complicate the assessment of the optical properties. More importantly, the proposed models could have relevant impacts on industrial applications for food industry that needs to know how their products will look like in the market under different storage conditions that alter products' chemical composition.None declared.