Mohammed Riyadh Abdmeziem
email: mohammed-riyadh.abdmeziem@loria.fr

François Charoy
email: francois.charoy@loria.fr

Fault-tolerant and Scalable Key Management

Keywords: Collaborative applications, Internet of Things (IoT), Security, Group key management, Polynomial computation, Contiki

Introduction

With the rise of the Internet of Things (IoT) and its integration in information systems, collaborative applications have taken a new dimension. Pervasive devices and objects are able to perceive our direct environment and act autonomously upon it to help users to reach their goals. Applications ourished in healthcare, transportation and military environments [START_REF] Abdmeziem | Architecting the internet of things: state of the art[END_REF] that combine input from users and objects to reach goals in a collaborative way. In these domains, stakeholders would only accept these systems in their environment if they have strong guarantees on the security, privacy and integrity of the data they produce and share. The distributed nature of such systems and the requirement for encryption of data shared among participants lead to one of the most important challenges in such evolving environments: the management of cryptographic group keys [START_REF] Sicari | Internet of things: Security in the keys[END_REF] [6] [START_REF] Abdmeziem | An end-to-end secure key management protocol for e-health applications[END_REF].

Group key management is challenging in this context. In fact, collaborative groups involve heterogeneous members with dierent requirements and resources capabilities [START_REF] Keoh | Securing the internet of things: A standardization perspective[END_REF]. This gap can hinder end-to-end communications. Indeed, constrained members with limited processing power and storage space can not run heavy cryptographic primitives [START_REF] Abdmeziem | A new distributed mikey mode to secure e-health applications[END_REF]. Moreover, collaborative applications may present a high rate of leaving and joining members within tight time lapses, which makes the issue more dicult to handle. The scalability of these systems needs to be addressed bearing in mind the increasing number of entities taking part in the collaborative groups. Last, fault tolerance is at utmost importance especially for critical and sensitive applications (e.g. health related and military applications) [START_REF] Sicari | Security, privacy and trust in internet of things: The road ahead[END_REF].

We address this problematic of designing a secure and ecient protocol to establish shared group credentials for Peer-to Peer collaborative groups. These credentials will be used to ensure the required security properties such as data condentiality, data integrity, and data authentication. The proposed protocol has to be energy aware allowing an implementation on constrained devices, which take part in the collaborative process. In addition, the protocol must be scalable, as well as tolerant to possible failures of the entity in charge of managing the group key.

To achieve this goal, we rely on our previously proposed group key management protocol called DBGK (Decentralized Batch-based Group Key) [START_REF] Abdmeziem | A decentralized batch-based group key management protocol for mobile internet of things (dbgk)[END_REF]. This protocol considers a network topology composed of several sub groups. Each sub group is managed by an area key management server, while the whole group is managed by a general group key management server. The established group key is composed of a long term key and short terms keys (called tickets), which are dierent for each time interval. Constrained members in terms of resources (e.g. connected objects) are only involved in the re-keying process if these latter have recently been active. In addition, keying materials are distributed to joining members based on their resources capabilities. Experiments showed that DBGK [START_REF] Abdmeziem | A decentralized batch-based group key management protocol for mobile internet of things (dbgk)[END_REF] is energy ecient and outperforms similar existing protocols in the literature.

Although ecient and secure, DBGK relies on key management servers to maintain the group key. Including additional servers to improve fault tolerance would impose a high storage overhead on constrained members. This makes DBGK inappropriate to be directly implemented in sensitive collaborative applications. In this paper, we propose a distributed extension for DBGK called DsBGK (Distributed Batch-based Group Key). In this extension, we keep the core functioning of DBGK, while signicantly distributing the operations which were based on a central entity. We achieve this by integrating a polynomial based scheme inspired from [START_REF] Piao | Polynomial-based key management for secure intra-group and inter-group communication[END_REF] and [START_REF] Patsakis | An ecient scheme for centralized group key management in collaborative environments[END_REF]. In addition, we improve the eciency of the original scheme to suit the constrained IoT environment. We conducted extensive experiments to assess the performances of DsBGK and compared the results with DBGK performances. The results showed that DsBGK provides an enhanced scalability and fault tolerance, as additional key management servers (controllers) can be included without impacting the storage overhead on constrained members. Furthermore, energy cost due to rekeying operations is re-duced compared to DBGK, which extends the life cycle of battery powered entities.

The remaining of the paper is organized as follows. In section 2, we present a use case scenario to motivate our contribution. In section 3, we discuss, in detail, existing solutions in the literature. For the sake of clarity, we summarize in section 4, the required background. In section 5, we present our network model, along with our assumptions and the used notations. In section 6, we thoroughly present our approach before introducing and analyzing the experimental results in section 7. Section 8 concludes the paper and sets our future direction. A personal heath record [START_REF] Tang | Personal health records: denitions, benets, and strategies for overcoming barriers to adoption[END_REF] (Fig. 1) is a typical example of a document that can be accessed and edited by multiple participants, including medical sensors attached to patients. This is also an example of a document that contains highly private and sensitive information. To edit a medical record, some participants (e.g. medical sta) collaborate using unconstrained devices, such as Personal Computers (PC) and smartphones. However, sensors planted in or around the human body are considered as constrained since they have limited computing power and may operate on battery. These sensors can either communicate their sensed data to medical sta through the unconstrained entities (e.g. PC, smartphones) or directly edit patient's medical record. Medical sta can also control the sensors (trigger or stop the sensing of a particular physiological data), and add more sensors to the collaboration. New members can join or leave the collaboration around the medical record as the situation of the patient evolves. The dierent entities collaborate in a distributed way to maintain the medical record. This latter can be replicated among dierent entities and the modications can be executed on the dierent replicas, which need to be synchronized. This is important in order to avoid a single point of failure on the record management architecture. It is also important to control the entities that have access and can modify the record over time. This clearly highlights the importance of securing communications in such a hybrid and heterogeneous group of entities by eciently managing the security credentials used to provide data authentication and data condentiality. Personal Health Record (PHR) is a typical case of collaboration among health-care personal, insurers, caregivers, patients and sensors to maintain a document that reects the patient status, health history and treatment. There is an obvious need to provide a decentralized, secure, safe, privacy preserving and scalable solution to share these documents among people and sensors (objects).

Related work

In this section, we review the main categories under which group key management protocols are usually categorized [START_REF] Daghighi | Toward secure group communication in wireless mobile environments: Issues, solutions, and challenges[END_REF] [28], namely, the centralized, the decentralized, and the distributed categories.

Centralized protocols are based on an unconstrained central entity (i.e. Key Management Server (KMS)), which is responsible for generating, distributing, and updating the group key for the whole group. Authors in [START_REF] Harney | Group key management protocol (gkmp) architecture. RFC[END_REF] introduced the Group Key Management Protocol (GKMP), which is based on a Group Key Packet (GKP). This latter encompasses a Group Trac Encryption Key (GTEK) to secure data trac, and a Group Key Encryption Key (GKEK) to secure transmissions related to rekeying operations. Following a leave event, the central entity broadcasts the new GKP to all remaining members creating a complexity of O(n). This complexity makes GKMP not scalable with regards to dynamic and large groups. To reduce the impact of leave events, authors in [START_REF] Veltri | A novel batch-based group key management protocol applied to the internet of things[END_REF] proposed an interval-based protocol, which generates the keying materials corresponding to the predicted period of time during which the members are expected to remain in the group. Doing so, following a leave event, no rekeying is required. However, this solution is not suited to dynamic groups with unexpected join and leave events, as predicting the leaving moment of members is neither realistic nor practical. In addition, constrained members which are part of the group for a long period of time might suer from storage issues, as a large number of keying materials needs to be stored.

To further improve eciency, several hierarchical based protocols have been proposed. Among them, the Logical Key Hierarchy (LKH) protocol [START_REF] Wong | Secure group communications using key graphs[END_REF], later improved by the One-way Function Tree protocol [START_REF] Balenson | Key management for large dynamic groups: One-way function trees and amortized initialization[END_REF] are typical examples. The basic idea of these protocols is that the KMS shares pre-established credentials with subsets of the group. Following an event, the KMS relies on these credentials to target specic subgroups during the rekeying, thus, reducing the number of required rekeying messages (i.e. OLog(n)).

Thanks to their eciency, polynomial based approaches are used to manage group keys in collaborative applications. In fact, polynomial based schemes allow overcoming the storage cost related to multicast inter-group communications. Moreover, polynomial evaluation can be, under certain conditions, more ecient than encryption/decryption primitives. Polynomials have originally been included in threshold secret sharing schemes [START_REF] Shamir | How to share a secret[END_REF]. More recently, authors in [START_REF] Wang | Key distribution and update for secure inter-group multicast communication[END_REF] [36] used polynomials to enable group members decrypting received messages. Doing so, the members are no longer required to store a secret key shared with each sender. Nevertheless, polynomials are usually generated and broadcasted by the KMS. To reduce this overhead on the KMS, authors in [START_REF] Piao | Polynomial-based key management for secure intra-group and inter-group communication[END_REF] propose a self-generation technique to generate the polynomials by the members of the group. In a nutshell, centralized protocols are characterized by their eciency due to the use of symmetric primitives. Furthermore, these protocols do not require peer-to-peer communications during rekeying operations. However, the single point of failure and scalability issues constitute their main weaknesses.

Decentralized protocols consider the group divided into various areas, with an Area Key Management Server (AKMS) in charge of managing local events. This class of protocols is generally categorized into two sub categories [START_REF] Daghighi | Toward secure group communication in wireless mobile environments: Issues, solutions, and challenges[END_REF]: common Trac Encryption Key (TEK) per area [START_REF] Briscoe | Marks: Zero side eect multicast key management using arbitrarily revealed key sequences[END_REF] [27], and independent TEK per area [START_REF] Piao | Polynomial-based key management for secure intra-group and inter-group communication[END_REF] [START_REF] Mittra | Iolus: A framework for scalable secure multicasting[END_REF]. In the former category, a unique TEK is implemented for the various areas of the group. As a result, if an event happens, the whole group is aected by the rekeying. In the latter category, a dierent TEK is implemented for each area. As a result, the 1-aects-n issue is attenuated, as rekeyings only aect specic areas. However, data transmitted across areas has to be translated at the border of each area. This classication of decentralized protocols can further be rened [START_REF] Challal | Group key management protocols: A novel taxonomy[END_REF] by including time-driven rekeying subcategory [START_REF] Briscoe | Marks: Zero side eect multicast key management using arbitrarily revealed key sequences[END_REF] [29] and membership-driven rekeying subcategory [START_REF] Rafaeli | Hydra: a decentralized group key management[END_REF] [START_REF] Ballardie | Scalable multicast key distribution[END_REF]. In membership-driven protocols, the group key is updated following each membership event, whereas, in time-driven protocols, the update of the group key is carried out at the end of a dened period of time without taking into consideration membership events. Consequently, the impact of frequent and consecutive events is limited. Nevertheless, ejected members are still able to access exchanged data up to the end of the interval. Likewise, a new member would have to temporize until the start of a new interval prior of being able to access exchanged data in the group.

Distributed protocols do not rely on any central entity. Instead, all members contribute in the management of the group key in a peer-to-peer way. Distributed protocols are usually based on the n-party version of the well known Die-Hellman protocol [START_REF] Kim | Tree-based group key agreement[END_REF] [START_REF] Lee | Distributed collaborative key agreement and authentication protocols for dynamic peer groups[END_REF]. Hence, these protocols are highly reliable, as the group is free from any single point of failure. Nevertheless, distributed protocols involve a high number of exchanged messages during rekeying operations, in addition to an important computation cost due to the use of heavy asymmetric primitives.

To alleviate this cost, authors in [START_REF] Dini | Key propagation in wireless sensor networks[END_REF] propose a probabilistic based protocol. Members of the group establish communication channels composed of sequences of adjacent members between which a key is shared. Indeed, members propagate the key, which is shared between the rst adjacent members to the remaining members. This propagation is achieved using local keys. However, if no local key is found between two specic members, these members proceed with a pairing attempt by exchanging a set of global keys generated from a pool of keys. In spite of its improved performances compared to deterministic protocols, this protocol suers from a lack of connectivity. In fact, members could be disconnected from the group if several pairing attempts fail. To further mitigate the complexity of distributed protocols, authors in [START_REF] Di Pietro | Providing secrecy in key management protocols for large wireless sensors networks[END_REF] introduce a protocol which proceeds within two phases. In the rst phase, members of the group autonomously generate the group key using pre-dened seeds and hash functions. In the second phase, members synchronize their generated keys taking into account delays due to the loose synchronization of members clocks. Compared to other solutions based on DH primitives, one of the drawbacks of this protocol lies in the pre-sharing assumption of the seeds, which aects both its scalability and feasibility.

In this context, we address the issue of group key management for dynamic and heterogeneous collaborative groups. The originality and features of our approach are detailed through the remaining sections. But rst, to ease the understanding of our contribution, we provide the reader with a broad overview of the protocols upon which our approach is built. 4 Background

DBGK [3]

DBGK considers the group divided into sub groups. Each sub-group is managed by an Area Key Management Server (AKM S). The time axis is split into several time slots. For each time slot, a dierent ticket (piece of data) is issued. The group Trac Encryption Key (T EK) for slot i is computed using a one way function F as follows:

T EK i = F (SK, T i )
where SK is a long term key, and T i is the ticket issued for slot i.

Once an object (or member, both terms are used indistinguishably) O i wants to join the group, it initiates DBGK which goes through successive phases. The object sends a join request through an anycast message. Based on the object location, the nearest AKM S handles the join. Let us assume that the AKM S of area j is the nearest one. In case of a successful authentication, the object is initialized (through a secure channel) with a long term key (i.e. SK), and a shared key with its AKM S. Despite being a valid member of the group, the new member O i is not yet able to derive the current T EK. Backward secrecy is therefore inherently ensured while no rekeying operation is required for the group. If O i is involved in a message exchange (sending/receiving), it has to be able to encrypt and decrypt the messages. To do so, O i has to compute the current T EK. Thus, O i sends a request to AKM S j asking for a ticket corresponding to the current time slot. In order to reduce the amount of exchanges in case O i is highly active, the object can request several tickets corresponding to multiple future intervals. The request contains information about the objects specications, in particular, data regarding its storage capabilities and resources. Based on this data, and on the trust level of O i (if the object has previously been a member of the group), AKMS decides on the number of tickets to be granted to O i .

When O i leaves the network, forward secrecy has to be guaranteed to prevent the object from accessing future communications in the area. Two possible scenarios arise. In the rst case, O i leaves the network or is ejected with one or several valid tickets stored in its internal memory. In this case, AKM S checks its AOL (Active Object List, which keeps track of the issued tickets) and sends a multicast notication to all the objects that have received the same tickets owned by the leaving member. The semantics of the notication is as follows. The tickets ranging from T t to T t+k (k corresponds to the number of tickets that O i has received) are no longer valid. The recipients of the notication that are not active anymore (i.e. not in the process of exchanging messages) just ignore the notication. However, the active objects send a request to AKM S in order to receive new tickets. Based on experimental results (see section IV.B in [START_REF] Abdmeziem | A decentralized batch-based group key management protocol for mobile internet of things (dbgk)[END_REF]), DBGK outperforms its peers within a proportion of around 50% of the members in possession of the same tickets as the leaving (ejected) member. If the proportion exceeds 50%, a state of the art approach (i.e. LKH [START_REF] Wong | Secure group communications using key graphs[END_REF]) is considered to rekey the whole group. In the second case, the leaving O i does not own any valid ticket. In this situation, forward secrecy is ensured without any rekeying operation. [START_REF] Piao | Polynomial-based key management for secure intra-group and inter-group communication[END_REF] and Patsakis et al [START_REF] Patsakis | An ecient scheme for centralized group key management in collaborative environments[END_REF] schemes Piao et al proposed a scalable and ecient polynomial based centralized group key management protocol to secure both inter-group and intra-group communications. Nevertheless, this scheme contains security breaches. In [START_REF] Kamal | Cryptanalysis of a polynomial-based key management scheme for secure group communication[END_REF], authors show that Piao et al scheme does not ensure neither backward nor forward secrecy. In [START_REF] Liu | Attacks and comments on several recently proposed key management schemes[END_REF] authors show that Piao et al is based on a mathematical problem computable within a reasonable amount of resources (time and computation power). An attacker can easily factorize the polynomial over a nite eld and retrieve the private keys of the members, as well as the exchanged secrets.

Piao et al

To address these issues, Patsakis et al [START_REF] Patsakis | An ecient scheme for centralized group key management in collaborative environments[END_REF] proposed a modied version of Piao et al [START_REF] Piao | Polynomial-based key management for secure intra-group and inter-group communication[END_REF] scheme to take advantage of its eciency while strengthening its security properties. They base their scheme on a NP-hard mathematical problem which is nding the roots of univariate polynomials modulo large composite numbers for which the factorization is not known [START_REF] Plaisted | New np-hard and np-complete polynomial and integer divisibility problems[END_REF] . This is in contrast with the weak mathematical problem upon which Piao et al [START_REF] Piao | Polynomial-based key management for secure intra-group and inter-group communication[END_REF] scheme is based. Moreover, they introduce an additional virtual term in the generation of the polynomial (called salting parameter) upon every rekeying to prevent backward and forward secrecy breaches.

In DsBGK, we build upon Patsakis et al [START_REF] Patsakis | An ecient scheme for centralized group key management in collaborative environments[END_REF] scheme to secure the transmission of secrets using polynomial computation instead of using encryption. Hence, eciency and scalability are both increased. Furthermore, we enhance Patsakis et al scheme to ensure forward and backward secrecy more eciently and to increase the collusion freeness of the protocol.

Network model

Our network architecture models a group of entities collaborating to achieve a dened and common goal. This group is heterogeneous, and composed of both unconstrained and constrained entities. The unconstrained entities are powerful enough to perform asymmetric primitives (e.g. desktop computers, servers, smart phones, etc). The constrained entities are limited in terms of energy, computational, communication and storage capabilities (e.g. sensors, RFID, NFC, etc), hence, unable to perform asymmetric primitives. Unlike in DBGK, no General Key Management Server (GKMS) is considered. Furthermore, the group is not partitioned into subgroups with Area Key Management Servers (AKMS) controlling each sub group. In fact, we consider a single logical group where the unconstrained entities play the role of controllers. These controllers maintain a consistent, distributed and open AOL (Active Object List). This list can be maintained using one of the existing solutions in the literature, such as [START_REF] Oster | Data consistency for p2p collaborative editing[END_REF]. Fig. 2 illustrates our network architecture.

Assumptions and denitions

-we consider a heterogeneous group. More precisely, we assume the existence of both unconstrained members, powerful enough to perform periodic n-party Die-Hellman (DH) rekeyings [START_REF] Challal | Group key management protocols: A novel taxonomy[END_REF], and constrained members unable to run the resource consuming n-party DH. -the powerful entities are considered as controllers. Controllers are in charge of initiating a key update following specic events (e.g. join and leave). -during the initialization phase, each new member is set (oine) with a private binding ID. -during the initialization phase, at least one controller is pre-loaded (oine) with the binding ID of each new member (the ID can then be securely propagated to all controllers). -a distributed AOL (i.e D-AOL) is maintained consistent between all controllers through the dierent updates.

Constrained member

Joining member

Leaving member

N-party DH Member-controllers exchanges

Unconstrained member (controller) -we consider at a particular moment, only one active controller.

The dierent notations used throughout the remaining of this paper are summarized in Table 1.

6 Protocol functioning

DsBGK general overview

The goal of DsBGK is to establish and maintain a group key to secure communications in collaborative environments. This has to be achieved while remaining ecient and secure, ensuring both forward and backward secrecy. DsBGK is based on DBGK, we recommend the reader to refer to [START_REF] Abdmeziem | A decentralized batch-based group key management protocol for mobile internet of things (dbgk)[END_REF] for a comprehensive presentation of the protocol. DsBGK proceeds within several phases. The rst phase is related to the initialization of the entities. In fact, a set of unconstrained entities are designated o-line to play the role of controllers based on their capabilities. n-party DH is run within this sub-group of controllers to establish shared credentials. These latter are used to secure the communications required to update the distributed AOL (D-AOL). In addition, at least one controller is set with the secret binding ID of each new member. To become active, the new member sends a request to the active controller. The member requests one or more tickets according to its level of trust and resources capabilities. Upon successfully passing the authentication and authorization phase, the member receives the tickets along with SK (SK is only sent during the rst exchange). The member will then be able to derive the group key using both the current ticket and the long term key SK. To secure the transmission of these tickets to the requesting members, the active controller builds a univariate polynomial of degree m. Upon its reception, the member computes the polynomial using its private binding ID to retrieve the transmitted secret (i.e. tickets). The security of this scheme relies on the strength of the underlying mathematical problem. In this case, the problem comes down to nding the roots of univariate polynomials modulo large composite numbers. Upon a leave event, two situations arise. If the leaving member has not recently been active, then, no rekeying is required. However, if the leaving member is active, its tickets are no longer valid. As a result, the information stating that these tickets are no longer valid has to be propagated to the concerned members by the active controller. In the following, we present the details of DsBGK phases.

Initialization (Joining)

During this phase, the private binding ID of the member is communicated to at least one controller (typically the active controller). Upon successful authentication and authorization, the controller propagates the ID to the rest of controllers. We assume that the ID of a new members is set oine. This ID will be used to compute the received polynomials from controllers to retrieve exchanged secrets. Once the ID is set, the member is valid and can become active at any moment.

Activation

Algorithm. 1 depicts the behaviour of DsBGK following a join event. After successfully joining the group, a member becomes active by requesting one (or several) tickets from the active controller. Indeed, any controller is able to deliver tickets to members, as D-AOL is distributed and maintained between all controllers. This provides a better fault tolerance compared to DBGK where only the controller, in charge of a specic area, can deliver the tickets. Upon receiving a request, a controller grants or deny the request based on several parameters related to the requesting member such as, resources capabilities and the level of trust. To secure the transmission of tickets, the active controller generates a univariate polynomial P (x) modulo the product of two large prime numbers. (see Algorithm. 2)

P (x) = (x -r 1 )(x -ID)(x -r 2 )...(x -r m ) + T i mod n
This polynomial represents the product of m terms plus the transmitted secret (i.e. T i ). One of the terms (i.e. x -ID) allows the receiving member to compute P (ID) = 0 to retrieve the secret. The remaining terms are set randomly.

In both Patsakis et al [START_REF] Patsakis | An ecient scheme for centralized group key management in collaborative environments[END_REF] and Piao et al [START_REF] Piao | Polynomial-based key management for secure intra-group and inter-group communication[END_REF] schemes, the terms are composed of the private credentials of the members (i.e. ID). As a result, to mitigate collusion attacks and to provide backward and forward secrecy, Patsakis et al in [START_REF] Patsakis | An ecient scheme for centralized group key management in collaborative environments[END_REF] introduce the use of additional terms upon each rekeying (called salting parameters). In DsBGK, we propose to avoid using additional parameters, which can quickly increase the ratio between the polynomial degree and the actual number of users (members) within the group.

In the original Piao et al scheme, if a new member l joins the group, this latter could breach backward secrecy (i.e. accessing data exchanged prior to the joining).

Indeed, let us consider P old (x) the polynomial generated before the joining, P new (x) the polynomial generated after the joining, n the number of users, and s the transmitted secret.

P old (x) = (x -ID 1 )...(x -ID n ) + s mod n P new (x) = (x -ID 1 )...(x -ID l )...(x -ID n+1 ) + s mod n
The new member m would derive the old secret s by computing:

s = P old (x) -Pnew(x)-s x-ID l
In DsBGK, this attack would not possible, as computing Pnew(x)-s x-ID l would give no extra knowledge considering that the terms are dened randomly (except the term that contains the ID of the recipient member) and thus vary across the dierent polynomials.

Furthermore, DsBGK ensures collusion freeness as the disclosure of the private ID of colluding users brings no additional knowledge to retrieve private IDs of non-colluding members. Indeed, in each polynomial, apart from the term containing the recipient ID, the remaining terms are random and dierent across the polynomials. Besides, we set the degree m of the polynomial in a way to keep the factorization not easily feasible while maintaining eciency. In [START_REF] Liu | Security for wireless sensor networks[END_REF], experimentations on MICA2 sensor showed that the computation of a polynomial of a degree up to 40 is more ecient than symmetric encryption (i.e. RC5). In DsBGK, we set m accordingly and regardless of the number of users in the group. Thus, the size of the polynomial does not grow with the growth of the number of users (members), which has a positive impact on scalability.

Leaving

To ensure forward secrecy upon a leaving event, the T EK is changed. In DsBGK, two scenarios are considered. If the leaving (ejected) member at time slot i is not in possession of valid tickets T i+k (with k >= 0) , no rekeying is required. In fact, the leaving member will not be able to derive future T EK given the fact that group keys are partly composed of dynamic tickets. As a result, the leaving member will not have access to future communications. However, if the leaving member is in possession of tickets, the members in possession of the same tickets need to be notied. In case they are still active, they will ask for new tickets. The exchange of these secret credentials is secured using univariate polynomials generated by the active controller (see Algorithm. 3). 7 Analysis

Security properties

Backward secrecy violation occurs when a legitimate member tries to access communications, which took place before its joining. In DsBGK, backward secrecy is ensured inherently, as joining members are not able to derive group keys which have been established prior to their joining. In fact, the group key is composed Algorithm 1 Activation algorithm 1: procedure Activation (member, controller) 2:

request ← T icket_request{P ublicID, SpecData, N slot} 3:

M ember.send(request, controller) 4:

if member is authenticated then 5:

if member is authorized then 6:

while i < number of granted tickets do 7:

P1 ← GenerateP oly(Ti) 8:

i ← i + 1 9:

if f irst activation then 10:

P 2 ← GenerateP oly(SK) 11:

Controller.Send(P 1, member) 12:

Controller.Send(P 2, member) 13: else 14:

Controller.Send(P 1, member) 15:

U pdate D_AOL(controller, P ublicID)

Algorithm 2 Polynomial generation algorithm 1: procedure GeneratePoly (secret) 2: p ← randomly generated large prime number 3:

q ← randomly generated large prime number 4:

n ← p × q 5: m ← f ixed threshold 6:

P ← (x -ID) 7:

while i < m -1 do 8:

r ← random_value() 9:

P ← P × (x -r) mod n 10:

P ← P + secret 11:

return(P )

Algorithm 3 Leaving algorithm of a xed long term key and varying tickets following each time slot. As a result, new members are unable to derive previous keys. Forward secrecy violation occurs when a former member of the group tries to access communications, which take place after its departure from the group. In DsBGK, this property is ensured based on whether the leaving member is in possession of tickets or not. If the member is not in possession of tickets, no rekeying is required. In fact, the leaving member will not be able to derive any future group keys. However, if the member is in possession of valid tickets, using D -AOL, the active controller noties only the active members which are in possession of the same tickets about their non-validity. In case the number of active members reaches a certain threshold (set experimentally to 40 -50% of the total number of members in the group), the active controller relies on the state of the art LKH protocol to rekey the long term key SK. As a result, the leaving member will not be able to use its tickets to derive future group keys, either because they are not valid anymore (and thus not used in the generation of the group key) or because the long term key has been modied.

Collusion attacks occur when two or more legitimate members collude to retrieve the security credentials of other members. In DsBGK, secret credentials are securely exchanged using univariate polynomials modulo a composite number of large primes. We ensure collusion freeness by considering variable terms, which are not based on the credentials of the users (members). Indeed, the collusion of a subset of members will not help in any form to compose polynomials with the goal of retrieving the security credentials of the remaining members. Nevertheless, this solution requires from the controller to compose a dierent polynomial for each member. It is worth noting, however, that the controllers are not considered as constrained members, and DsBGK main goal is to reduce the overhead with respect to the constrained members of the group.

Performance evaluation

To analyze the performances of DsBGK and compare the results with DBGK [START_REF] Abdmeziem | A decentralized batch-based group key management protocol for mobile internet of things (dbgk)[END_REF], we relied on Cooja, which is the built-in network simulator of Contiki 2.7 [START_REF]The contiki operating system[END_REF]. Contiki is an open source Operating System (OS) for IP-enabled constrained devices (objects). This OS is used by the research community in several domains, such as, networked electrical systems, industrial monitoring, e-health sensors, and in Internet of Things (IoT) related applications in general. With the purpose of assessing our protocol's performances compared to DBGK's performances, we considered the same experimental setups as those used in the evaluation of DBGK. In fact, we use Tmote Sky nodes, which are equipped with the CC2420 radio chip and the MSP430 microcontroller (10k RAM, 48k Flash). Furthermore, energy consumption is computed using Powertrace tool [START_REF] Dunkels | Powertrace: Network-level power proling for low-power wireless networks[END_REF]. This tool measures the time (number of ticks) during which each element (e.g. CPU, transmission, reception, etc.) of the sensor is active. This duration is combined with other data (specic to the sensor, such as the current draw, and voltage) to evaluate the energy consumption. We evaluated DsBGK performances with respect to the following metrics: storage overhead, polynomial degree, and members leave cost. Storage overhead: in this experiment, we considered an event where a new constrained member (denoted merely by 'member' in the remaining of this analysis) joins a group. We varied the number of controllers (KMS) in order to assess the impact of additional controllers on the overhead resulting from the storage of security materials by members. The results, depicted in Fig. 3, show that for DBGK, storage overhead increases linearly with the inclusion of additional controllers. However, for DsBGK, storage overhead is steady and not related to the number of controllers. In fact, in DBGK, a pre-shared key is established between each member and each controller. This leads to a proportional dependency between the number of controllers and the number of stored keys. Indeed, in DsBGK, thanks to the use of polynomials, a pre-shared material (i.e. ID) is only set in the controller side for each additional member. Nevertheless, no material is stored in the member side. Consequently, unlike DBGK, DsBGK allows adding controllers with no impact on storage overhead.

The next step in our evaluation was to evaluate the impact of this gain in storage on the energy consumption induced by rekeying operations. In particular, when members leave or are ejected from the group. But rst, we ran extensive simulations to set the optimal degree of the polynomial to achieve the best tradeo between security and eciency.

Polynomial degree: we considered a group of 1000 members. We simulated a member leaving the group (or being ejected) with a proportion of 40 % of remaining members holding the same tickets as the leaving member. Based on DBGK evaluation (see section IV.B in [START_REF] Abdmeziem | A decentralized batch-based group key management protocol for mobile internet of things (dbgk)[END_REF]), around 40-50 % represents the maximum proportion above which DBGK eciency drops and a state of the art protocol (i.e. LKH [START_REF] Wong | Secure group communications using key graphs[END_REF]) is preferred to update the group key. Furthermore, N Slot has been set to 20, which we consider being a realistic value. We varied the degree of the polynomial and compared energy cost with DBGK. The results presented through Fig. 4 highlight a steady raise in energy consumption with the increase of the polynomial degree. It is worth mentioning that DBGK energy cost is not impacted by polynomial degree variation, hence the constant energy consumption. Eventually, DsBGK energy cost exceeds DBGK energy cost when the degree reaches a value around 25.

Our results were slightly dierent compared to the experimental results presented in [START_REF] Liu | Security for wireless sensor networks[END_REF] (previously mentioned in section 6.3), where performances using polynomial computation were better, up to a degree of 40. We explain this dierence by the fact that we used a dierent sensor in our experiment (Sky mote) in addition to a dierent encryption primitive for DBGK (i.e. AES). Nonetheless, this variation does not alter the security foundations of DsBGK, as the NP-hard mathematical problem upon which DsBGK is based is not altered [START_REF] Plaisted | New np-hard and np-complete polynomial and integer divisibility problems[END_REF]. Following this experiment, we compared the energy consumptions of DBGK and DsBGK in case of a leave event to make sure that the gain in storage cost has not been achieved at the expense of other metrics.

Member leave cost: we estimated the energy cost related to the departure (or ejection) of a member in possession of a valid ticket. Similarly to DBGK's evaluation, we consider a group of users composed of 1000 members. We record several measures, while varying the proportion of members with tickets similar to those in possession of the leaving member. Moreover, we dene the number of tickets requested by notied members as equal to 20 time slots (i.e. N Slot = 20). We depict the results in Fig. 5. It is clear that DsBGK energy consumption increases with the increase of the percentage of members in possession of the same tickets as leaving members. However, this raise in energy cost is slightly lower compared to the raise noticed in DBGK energy consumption. This is mainly due to the superior eciency of polynomial computation compared to cryptographic symmetric primitives.

Based on the obtained results, we can arm that compared to DBGK, Ds-BGK provides a considerable improvement in fault tolerance and scalability. Not only this result does not incur additional overhead with respect to rekeying op-erations, but an improvement in energy consumption is also achieved. Back to our e-health use case scenario, presented in section 2, DsBGK can be applied to eciently secure data exchanges in such sensitive environment where the unconstrained entities (e.g. PC, smartphones, etc) can play the role of controllers. These controllers will be in charge of eciently managing the group key for the constrained members of the group (i.e. health related sensors). Additional controllers can be included without incurring any additional storage cost on constrained members. Thus, the failure of one or several controllers does not hinder the protocol functioning, as other controllers can take over. Furthermore, the improved eciency is highly sought for battery powered e-health sensors. Indeed, these sensors can be planted inside human bodies. Increasing the life time of their battery would reduce the cycle of surgical interventions required for their replacement.

Conclusions and perspectives

Securing distributed collaborative applications in the era of the Internet of Things relies heavily on strong and ecient group key management protocols. In this paper, we combined a polynomial based approach with our previously proposed protocol (DBGK) to propose a new protocol called DsBGK. Experimental analysis showed that DsBGK improves both fault tolerance and scalability which are highly sought in sensitive applications, such as e-health systems. Energy gains are also achieved, which makes DsBGK suitable for heterogeneous, and dynamic collaborative groups. We plan to further investigate DsBGK security strength by thoroughly assessing properties such as data integrity, data authentication, and data condentiality through an implementation using automated formal validation tools (e.g. Avispa, Scyther). In addition, we are currently investigating a lightweight blockchain based scheme to allow sensors authenticating genuine controllers.

2Fig. 1 .

 1 Fig. 1. Use case scenario

Fig. 2 .

 2 Fig. 2. Network architecture

Fig. 3 .

 3 Fig. 3. Storage overhead

Fig. 4 .

 4 Fig. 4. Polynomial degree

Fig. 5 .

 5 Fig. 5. Member leaving cost

Table 1 .

 1 Terminology table

	Notation	Description
	Group	a set of entities (members and controllers) collaborating by exchanging data
		in a Peer to Peer way to reach a common goal
	Member (node)	an object of the group with limited resources capabilities (e.g. RFID, IP-
		enabled sensors, etc)
	Controller	an object of the group without hard resource constraints (e.g. personal com-
		puters, smartphones, servers, etc)
	TEK (Trac Encryption	the group key used to secure communications within the group. T EK =
	Key)	F (SK, Ti)
	F	a one way function (easy to compute but hard to reverse)
	SK	a long term key transmitted to each new member during its rst exchange
	Ticket (Ti)	piece of data used in the generation of the T EK. Ti refers to the ticket issued
		for time slot i
	Time slot	a dened period of time (e.g. seconds, minutes, days, etc)
	ID	binding private identity of members. ID is used in the computation of poly-
		nomials
	PublicID	identity of the member
	P(x)	univariate polynomial modulo a composed large number n (product of two
		large primes p * q)
	D-AOL	Distributed Active Object List: records all active members including the tickets
		they have received
	SpecData	data related to storage, processing capabilities, and trust level of members
	Nslot	number of requested time slots (tickets)


Georgina Nugent Folan

Digitising Cultural Complexity: Representing Rich Cultural Data in a Big Data environment

Introduction

One of the major terminological forces driving ICT integration in research today is that of "big data."

While the phrase sounds inclusive and integrative, "big data" approaches are highly selective, excluding input that cannot be effectively structured, represented, or digitised. Data of this complex sort is precisely the kind that human activity produces, but the technological imperative to enhance signal through the reduction of noise does not accommodate this richness.

Data and the computational approaches that facilitate "big data" have acquired a perceived objectivity that belies their curated, malleable, reactive, and performative nature. In an input environment where anything can "be data" once it is entered into the system as "data," data cleaning and processing, together with the metadata and information architectures that structure and facilitate our cultural archives, acquire a capacity to delimit what data are. This engenders a process of simplification that has major implications for the potential of future innovation within research environments that depend on rich material yet are increasingly mediated by digital technologies. It is the objective of the KPLEX project, lead by Trinity College Dublin, to explore the impact of bias in big data approaches to knowledge creation, by investigating the delimiting effect digital mediation and datafication has on rich, complex cultural data.

The issues of concern to this project are all of relevance to our ways of being in the digital age, but for the purposes of this presentation, we will focus on three of the themes that the larger KPLEX project is teasing out, namely: i) How the word data is used, or indeed misused, in scientific discourse and the implications these discursive practices have.

ii) How our strategies for navigating the data deluge, via metadata, keywords, search and other algorithmic or organisational strategies can restrict the interpretative potential of data, and make us susceptible to an implicit truth claim made not on the basis of careful consideration or deep faith, but on algorithmic or digital bias.

iii) How approaches to knowledge creation found in the arts and humanities can help reconceptualise the ways we speak about and use data, both as citizens and as scholars.

Section 1. Data I'm going to begin by reviewing some of the existing implicit definitions of data that underlie ICT-driven research, before moving on to present some of our preliminary findings; specifically in relation to the usage of the term "data" in computer science journal articles, and the attitudes towards data that underlie computer science research and development.

In "Data before the Fact," Daniel Rosenberg outlines the history of "data" as a concept prior to the 20 th century, exploring how it acquired its "pre-analytical, pre-factual status."

1 Jesse Rosenthal similarly presents data as an entity that "resists analysis," an "object that cannot be questioned." One fares no better with the phrase 'big data.' Although our findings remain based on a relatively small sample set so far, not only does the phrase remain highly malleable, but it seems to have been infused with a corporate glow of being the cure for just about any ill,9 as implied by the image below.

Image copyright Winton Global Investment Management, 2015.

Problems identifiable at the level of "data" or singular "data points" are only magnified when we take it to the scale of big data. To paraphrase, big data magnifies these problems bigly.

In addition to a lack of transparency in relation to the transformations that are applied to data, the technique of cleaning data so as to produce more refined data is not systematised. Rather, it is presented as an almost esoteric process and one that brings with it implicit assumptions regarding the methods used to clean or process; assumptions that are not only discipline specific, but often researcher specific. The fact that salient aspects of an original record might have been lost along the way as data passes through the hands and servers of different actors is not only not recognised as potentially problematic, it is recognised as a part of the scientific process. The NASA protocol for describing the processing levels of research data, for example, carefully grades data from level 0 (raw or native data) through 4 additional levels of processing. However, these distinctions only pertain to the onset of the research, the point where data is gathered; thereafter the number resets and the data is considered raw, until it is subjected to further processing.

One might be inclined to see it as typical humanist hairsplitting to point out that our fellow researchers from across the epistemic divide use words less rigorously than we might like. But we would contend that these discursive practices carry a high social and scientific price. In a recent

Guardian article about the data held by Tinder, Paul-Olivier Dehaye from the organisation personaldata.io stated "We are leaning towards a more and more opaque society, towards an even more intangible world where data collected about you will decide even larger facets of your life.

Eventually, your whole existence will be affected." 10 We can't feel our data bodies-our "data doubles" 11 -, or hear the symphonies we may be performing with the digital instruments that are so much a part of our daily lives. Data has become a modern pharmakon, both restorative and deadly.

How much of this is due not only to the immateriality of data, but also to the poverty of our vocabulary for speaking about it, conflating inputs, outputs and middleware states, rights implicit and rights granted, spanning a huge variety of practices. A computer scientist's lack of sensitivity to input data and output data, to the raw and the cooked, so to speak, may seem innocuous, until you realise the values underlying these practices are passed directly to the next generation. At this point the nondistinction between input and output becomes a lack of distinction between 'my data' and 'your data,' and this has emerged as one of the key recurring themes in the detailed interviews we conducted with computer scientists on data, interviews we are currently in the process of transcribing and encoding. A lack of concern for how data changes as it is removed from its provenance and transformed, becomes a lack of alarm when two data sets become combined to enable an individual's identity to be determined and this knowledge abused. Words matter, particularly when they directly relate to our ways of being in a digital age, and no one should be held to a higher standard in this than scientists.

Section 2: Metadata

We know, or have known from at least as early as 1951 and Suzanne Briet's Qu'est-ce que la documentation? that just like Briet's archival document, "Data are not pure or natural objects with an essence of their own." 12 We also know that data "exist in a context, taking on meaning from that context and from the perspective of the beholder. " 13 But questions remain as to how much of this context is being redacted, modified or hidden by the surrounding information architecture. In the transition from analogue to digital, data loses facets of its native context, and acquires new contexts in the form of the metadata that situate it in the digital environment. To what extent is so-called "raw" or "native" data shaped by the database and contexts imported onto it by metadata in and of itself? And what of the contexts that accompanied the data within its "original," "proto-data," or "native" environment, its native contexts, how are these transferred to and catered for in the database?

Classification systems and documentation standards are based upon high level, non granular categories. Such categories are an advantage because they allow for the classification of diverse and abundant quantity of data, but a disadvantage because they flattens out the data and makes the granular more difficult to identify and access. In the previous section I introduced Raley's concept of data as "performative." [START_REF] Raley | Dataveillance and Countervailance" Gitelman, "Raw Data[END_REF] Others refer to how data can become "a sort of actor" "reshaping" [START_REF] Ribes | Data Bite Man: The Work of Sustaining a Long-Term Study[END_REF] the social world or how they carry the imprint of "the framework through which they were constructed, collected or collated." 16 Now if data are performative and possesses the capacity to shape and be shaped by its contexts, both native and acquired, then so is metadata. This effect is only magnified when we are working on the scale of big data, and is particularly problematic when we are dealing with "uncertain," "ambiguous" or "complex" data. The performative affect of metadata-intended, deliberate, or unforeseen-is a phenomenon well illustrated by Todd Presner's analysis of the relationship between research subject, research data, and system metadata in the Shoah Visual History Archive.

It goes without saying that great sensitivity is required of any project dealing with the personal testimonies of victims of the holocaust. It is far too difficult to err either on the side of losing sight of the many many victims who died anonymously (by focussing on the more famous stories like Elie Wiesel or Anne Frank), or to lose sight of the human suffering at the core of the holocaust experience by focussing on the scale of the tragedy (a many have said of the Digital Monument to the Jewish Community in the Netherlands). An algorithmic approach to the records of the holocaust should, in theory, be able to reconcile these poles of human frailty in the face of enormous data corpora.

However, as Presner observes, the Shoah VHA's was reliant on human cataloguers for the creation of metadata and finding aids, leading to an approach to uncertainty within the digital archive that saw certain material categorised as "'indeterminate data' such as 'non-indexable content.'" [START_REF] Presner | Probing the Ethics of Holocaust Culture, History Unlimited[END_REF] Presner is pragmatic in observing that "databases can only accommodate unambiguous enumeration, clear attributes, and definitive data values; everything else is not in the database."

18 But that which is considered ambiguous differs dramatically, ranging from repetition, pauses, emotion, noise or silence and even, most troublingly, material the indexer "doesn't want to draw attention to (such as racist sentiments against Hispanics, for example, in one testimony)." [START_REF] Presner | The Ethics of the Algorithm: Close and Distant Listening to the Shoah Foundation Visual History Archive[END_REF] What remains, as Presner notes, is "a kind of 'normative story' (purged of certain contingencies and unwanted elements)."

We are interested in what happens to the "non-normative" sections of the dialogues or archival material, the material that is not assigned a keyword. Privileging one neglects and undercuts the importance of the other. Each section assigned a keyword has a relationship with the material on either side of it within the dialogue, but this material is left "silent," "hidden" (in certain cases, especially cases such as the one above where certain facets of the testimonies are "purged" (Presner's word) from the keyword thesaurus of the archive), or alternatively left latent and unstructured in the archive, left without a keyword. It is for this reason that traditionally trained archivists and librarians struggle with provenance standards such as that developed by the W3C: to even begin to represent the richness of an archival record, which may have been passed through numerous hands and families, or be marked with doodles or wine glass stains, or contain such a variety of material that its eventual relevance is hard to judge, transcends the kinds of clear categories and linear relationships such standards propose.

We should remember in this respect that metadata is not the only technique that hides from us as much as it possibly exposes. Leave aside the question of what role paid promotion plays in Google page rank algorithm, the fact remains that many of our historical records remain undigitised, and the provision of what we do have is highly uneven across regions and demographics. It is easy enough to create and promote alternative facts where the alternatives are also discoverable to the determined: it is easier still to deny history when the records lie locked up in archives that, to many, seem not to exist because they are resolutely analogue, and undiscoverable using contemporary methods.

Section 3 : Practices (and conclusion)

The investigations to date of the KPLEX project have exposed the extent to which computer scientists rely on the word "data," and some of the costs that society and science are incurring from this imprecision in an age when our data may be big, but our ability to express the heterogeneity within this is limited. To us, the answer lies in a closer investigation of the knowledge creation and management practices of the humanities. Humanists, actually resist the term data, and moreover, resist fully digital environments, recognising that unique place of the analogue, the material. In the place of the all-encompassing monolith of data (and its functional equivalents such as content, information, etc., which seem in the literature to be used with no real distinction) we encounter instead primary literature, secondary literature, theoretical and methodological texts; we have notes and annotations and drafts, we have digital finding aids and scholarly editions. Every one of these terms refers not only to a form of textual information, but also to their functions, their layers and level of epistemic pre-processing, their place in the current scholars' pursuit of knowledge, and that of others.

21

For this reason, the nascent results of the KPLEX project propose the following measures by which greater richness and transparency can be brought to big data research through big data University Press, 2015). 20 Ibid. 21 see https://hal.archives-ouvertes.fr/hal-01566290/document discourse. We propose that data transformations should and must become a part of the provenance of a dataset, through a 'data passport.' We propose that researchers should have an instrument, similar to the ECDL, to monitor their development of the kinds of skills required to successfully work with composite, complex or personal data. We propose that consolidated digital environments are not enough -not for research and not for people. Developers often dislike the manner in which user input complicates technical workflows, but we need more of this, more adaptation to the embodied practices of knowledge creation that are hard wired into our kinetic processing. We need systems that expose their uncertainty in comprehensible ways for the average user, so we can see, for example, where machine translation strips away cultural complexity. And most importantly, we need the vocabulary and the knowledge to 'feel' data. As the author of the Guardian article quoted previously put it: "we can't feel data. This is why seeing everything printed strikes you. We are physical creatures. We need materiality." 22 Paradoxically, it may be here, in the the material, embodied and uncertain, that we will find the way forward for our ways of being in the digital age.

Rosenberg, "Data before the Fact," in Gitelman, "Raw Data" is an Oxymoron, 18.

Jesse Rosenthal, "Introduction: 'Narrative against Data,'" Genre 50, no. 1 (April 1, 2017): 1., doi:10.1215/00166928-3761312.

Christine L. Borgman, "Big Data, Little Data, No Data," MIT Press, 17, accessed April 7, 2017, https://mitpress.mit.edu/big-data-little-data-no-data.

Rosenberg, "Data before the Fact," in Gitelman, "Raw Data" Is an Oxymoron, 18.

Rita Raley, "Dataveillance and Countervailance" Gitelman, "Raw Data" Is an Oxymoron, 128.

Tabard A, Hancapié-Ramos JD, Esbensen M, and Bardram J (2011) The eLabBench: An Interactive Tabletop System for the Biology Laboratory. ITS 11.

Najafabadi et al., "Deep learning applications and challenges in big data analytics," Journal of Big Data (2015), 2:1

Khalilian et al., "Data stream clustering by divide and conquer approach based on vector model,," J Big Data (2016) 3:1.

Bughin, J Big Data (2016) 3:14.


Tamás Orosz
email: orosz.tamas@vet.bme.hu

Tamás Nagy

Tamus Zoltán Ádám

A Generalized Geometric Programming Sub-problem of Transformer Design Optimization

Keywords: Mathematical Programming, Geometric Programming, Transformer Optimization, Electrical Machine Design

The first step in transformer design optimization is to solve a nonlinear optimization task. Here, not only the physical and technological requirements, but the economic aspects are also considered. Large number of optimization algorithms have been developed to solve this task. These methods result the optimal electrical parameters and the shape of the core and winding geometry. Most of them model the windings by their copper _lling factors. Therefore the transformer designer's next task, to find out the detailed winding arrangement, which fits to the optimization results. However, in the case of large power transformers, the calculation of some parameters like: winding gradients, short-circuit stresses etc., needs the knowledge of the exact wire dimensions and winding arrangement. Therefore, an other optimization task should be solved. This paper shows how this sub-problem can be formulated and solved as a generalized geometric program.

Introduction

It is well known that the transformer design optimization is a complex, nonlinear optimization task, due to the nature of the interaction of several physical fields encountered during the design of an electrical machine. [START_REF] Del Vecchio | Transformer design principles: with applications to core-form power transformers[END_REF]. Therefore, in practice, this design process is split into more sub-optimization tasks and design stages. The first design stage is the preliminary or tendering design stage, where not only the physical and technological requirements, but the economical aspects are also considered [START_REF] Orosz | Analysis of the green power transition on optimal power transformer designs[END_REF]. Large number of optimization algorithms have been published in the literature to solve this task. [START_REF] Olivares-Galvan | A bibliographic analysis of transformer literature 2001-2010[END_REF] These methods are using simplified transformer models to calculate the optimal electrical parameters and the shape of the core and windings with adequate precision in a very short time. These approaches generally model the windings by a copper filling factor to obtain the optimal key design parameters. This simpli_cation is widely used in the industry, and gives accurate results for the electrical parameters [START_REF] Georgilakis | Spotlight on modern transformer design[END_REF]. Moreover, FEM calculations also use this replacement [START_REF] Andersen | Transformer leakage flux program based on the finite element method[END_REF].

In the case of large power transformers, the calculation of some parameters like winding gradients, short-circuit stresses etc., requires deeper knowledge of the exact wire dimensions and winding arrangement. Therefore, the transformer designer's next task is to find out the detailed winding arrangement which fits the optimized winding shape and their electrical parameters. This is another optimization task that should be performed Fig. 1. This design stage is often time consuming and usually needs huge expertise and manual interaction from the designer.

This paper demonstrates how this design step can be solved with introducing a novel sub-problem. This sub-problem assumes that the geometrical and electrical parameters of the winding are known from a copper filling factor based transformer optimization. Its application is denonstrated on a case-type winding. It can be generalized for every other type of windings and it can be integrated into the metaheuristic based solution to replace copper filling factor based approximation [START_REF] Orosz | Metaheuristic optimization preliminary design process of core-form autotransformers[END_REF]. A generalized geometric programing can be formulated and solved, which guarantees that the global optimum is found in no time. [START_REF] Boyd | Convex optimization[END_REF] Fig. 1. The place of the generalized geometric programming sub-problem in electric machine design process.

Relationship to Smart Systems

The smart system environments will arise new challenges regarding to total cost of ownership, which is the base of the hereby presented optimization process. "The increasing proliferation of renewable energy resources and new size-able loads like electric vehicle (EV) charging stations has posed many technical and operational challenges to distribution grids." [START_REF] Andresen | Smart transformer reliability and efficiency through modularity[END_REF] Therefore the conventional passive system design have to be replaced by an active concept resulting in a change of the emphasis of cost efficient design.

Generalized Geometric Programming

A geometric program is a type of the non-linear mathematical optimization problem characterized by the objective and constraint functions given in the following special form [START_REF] Boyd | Convex optimization[END_REF][START_REF] Boyd | A tutorial on geometric programming[END_REF]: where x = (x1, x2, ... ,xn) is a vector containing the optimization variables, f0, ... , fm are the posynomial functions, and g0, ... , gm are the monomial functions. All the elements of x must be positive. The monomial function g(x) can be expressed as where cg 2 R, _i 2 R, and cg > 0. This de_nition of monomial term is similar, but differs from the standard de_nition of the monomial used in algebra, where the exponents must be non-negative integers and the coefficient c is 1.

The posynomial function is the linear combination of monomials

We can introduce the generalized posynomials such that a function f of positive variables x1,…, xn is a generalized posynomial if it can be formed from posynomials using the operations of addition, multiplication, positive (fractional) power, and maximum.

Geometric programing (GP) problems, in general, are not convex optimization problems, and the main trick in the solution of a GP is a transformation to a convex optimization task. This transformation, which is a simple logarithmic change in the variables, is automatically performed by the solver. The GP modeler only knows the formal rules defined in 1.

There are many major advantages of GP modeling. First, the GP formalism guarantees that the solver _nds the globally optimal solution, and if the problem is infeasible, this provides that no feasible point exists. Second, the major advantage of this formulation is the great e_ciency of this special class of optimization problems. Finally, these interior-pointbased GP solvers are also very robust [START_REF] Orosz | Metaheuristic optimization preliminary design process of core-form autotransformers[END_REF][START_REF] Boyd | Convex optimization[END_REF][START_REF] Boyd | A tutorial on geometric programming[END_REF].

The Optimization Sub-process 4.1 Input Parameters

The main purpose of the optimization sub-process is to determine additional input parameters for the preliminary design optimization. These methods, which employs copper filling factors, are suitable to determine the leakage magnetic field distribution inside the core working window. Even a finite element methods are also applicable for greater accuracy [START_REF] Andersen | Transformer leakage flux program based on the finite element method[END_REF]. This calculation yields the maximum value of the radial and axial magnetic flux inside the winding area. These important parameters will be our additional input parameter next to the winding dimensions. Than we can prescribe an optimization problem that minimize the load loss in the desired winding area. In our example we focus on disc type winding arrangement consisting of single conductors.

The following input values are come from the previous sub-optimization process:  tw radial thickness of the winding,  hw axial height of the winding,  rm mean radius of the winding,  n number of turns,  Brad radial flux density,  Bax axial flux density,  ff copper filling factor.

Winding Geometry

The following posynomial inequality and monomial constraints describe the winding arrangement, this is a disc winding with normal conductors in the examined case:

Loss Calculations

The Ploss is minimized in this optimization task, which consist of the ohmic losses and the eddy losses. The eddy loss calculation takes into account the axial and radial components of the magnetic flux. It is assumed that the magnetic field is not modified by the field of the eddy currents [START_REF] Andersen | Transformer leakage flux program based on the finite element method[END_REF]:

Thermal Model

The applied calculation method of the temperature gradient uses an electrical analogy of heat-exchange, to solve the 2D-Poisson equation of the steady-state heat-flow [START_REF] Orosz | Comparison of methods for calculation of core-form power transformer's core temperature rise[END_REF].

It implies the decomposition of the whole winding into simplified components (cooling blocks), where the heat ow possible only in the axial or the radial directions (Fig. 2) [START_REF] Imre | A method for determining the steady-state temperature distribution in the windings discs of oil-cooled transformers[END_REF][START_REF] Ryder | A simple method for calculating winding temperature gradient in power transformers[END_REF]. Here, the axial and the radial component of the heat-flow density is owing through the effective thermal resistance of the insulation and the oil boundary layer (Fig. 2). The heat-flow density value defined by the following monomial expression:

The effective insulation thickness in the axial (vertical) and the radial direction are the following:

To calculate the ratio of the radial and axial heat-flow density, between the cooling surfaces the loss ratio parameters are introduced by [START_REF] Imre | A method for determining the steady-state temperature distribution in the windings discs of oil-cooled transformers[END_REF] (β parameters). However, the calculation method of these parameters, which presented in [START_REF] Imre | A method for determining the steady-state temperature distribution in the windings discs of oil-cooled transformers[END_REF] not fulfills the GGP formalism. Therefore a monomial function is fitted in βhor and βver (Fig. 3). Using this formulation, the horizontal and vertical heat-flows and the temperature gradients through the insulation can be formulated by the following monomial expressions: Where, the auxiliary parameter a = 1 in the case of zig-zag cooling. Regardless of the used formula, the incorporated constant C depends on the established cooling mechanism. Potential interpretations are shown in [START_REF] Imre | A method for determining the steady-state temperature distribution in the windings discs of oil-cooled transformers[END_REF][START_REF] Ryder | A simple method for calculating winding temperature gradient in power transformers[END_REF].

The gradient is defined by the following generalized posynomial:

The min() function is not a valid generalized posynomial inequality, but it can be handled by a replacement [START_REF] Boyd | A tutorial on geometric programming[END_REF].

Results

The winding sub-optimization method has been tested on an inner winding of a threephase, 10 MVA, 33/6.9 kV, star/star Volts/turn=46.87, Z=7.34% transformer. The transformer data is presented in [START_REF] Kulkarni | Transformer engineering: design and practice[END_REF], and the optimization is based on this real life example transformer. This example gives us the following input parameters: tw =35 mm, hw =1100 mm, n=89, rm = 495/2 mm, I =836 A, f =50 Hz. As we consider disc type winding, all oil cooling ducts are considered to be 3 mm wide. The minimal thickness of the insulation of the single conductor is 0.5 mm, this value was chosen taking into account of the voltage level. The transformer specification and relevant design details of the source [START_REF] Kulkarni | Transformer engineering: design and practice[END_REF]

Conclusions

Finding a cost e_cient transformer design is a complex, non-linear optimization task. Therefore, the transformer design process is separated into several, independent sub-problems and design stages. This paper deals with the preliminary design stage, where numerous algorithms has been applied to find the key design parameters with minimal total owning cost. However, most of these methods are modeling the windings by their copper filling factors -a simplification widely used in the industry with good accuracy -this approach is not appropriate to take into account the numerous possible winding arrangement. The transformer optimization sub-problem is presented and solved in this paper, with the method of generalized geometric programming. The results are shown a good agreement with the realized transformer winding's parameters. The presented model can be generalized to any type of winding arrangements and various type of conductors, for example case of continuously transposed cables.

Fig. 2 .Fig. 3 .

 23 Fig. 2. Temperature notations around the winding-oil contact at approximately the half of winding height

  are:  LV conductor: thickness=2.3 mm, insulation between conductors=0.5 mm, area of one conductor=22:684 mm2  Total conductor area=12 × area of one conductor=272:21 mm2  LV winding volume for 3 phases =0.1079 m3  Peddy = 489:55 W (only radial ux considered)  Pdc = 21:885 kW  copper filling factor 60%  the winding temperature rise is undocumented After the optimization our results for this transformer are the following:  LV conductor: thickness=1.8 mm, insulation between conductors=0.5 mm, area of one conductor = 21.6 mm2  Total conductor area=12 × area of one conductor=237:6 mm2  LV winding volume for 3 phases =0.0986 m3  Peddy = 850.27 W (includes the axial and radial ux too)  Pdc = 21.6 kW  copper filling factor 55%  the winding temperature rise above oil is 14.1 K


Olaf Neugebauer

Peter Marwedel

Roland Kühn

Michael Engel
email: engel@multicores.org

Quality Evaluation Strategies for Approximate Computing in Embedded Systems

Keywords: Approximate Computing, Energy Consumption, Quality Metrics

The quest for increased performance at lower energy consumption rates, especially in embedded systems used in smart systems, has reached physical limits that can no longer be exploited using traditional optimization techniques. One popular way to achieve additional gains is to intentionally perform inaccurate computations. Our framework eases evaluation, analysis and comparison of approximation techniques in terms of energy consumption, run time, quality and user-defined criteria. Applied to a set of benchmarks, we obtain valuable insights into related side effects, including increased file sizes indicating that a careless utilization of approximate computing threatens its usefulness.

Introduction

Growing demands for processing power, especially in embedded systems bundled in smart systems such as autonomous cars and media signal processing, increase the pressure on hardware and software developers to create well performing systems which are also power and energy efficient. Traditionally, hardware manufacturers solved the challenge by increasing the frequencies of processors and memories, whereas the reduction of power and energy consumption was mostly achieved by shrinking semiconductor structure sizes. More recently, multiple, potentially heterogeneous, cores are being combined onto a single chip to tackle the needs of versatile performance requirements. However, frequency increase is limited by thermal and energy constraints and parallelism is restricted by synchronization overhead.

One increasingly popular method to mitigate the rising impact of these performance and power walls is to intentionally perform inaccurate computations but still satisfy the quality of service (QoS) requirements of a given application. Similar ideas have been exploited especially in the media processing domain to reduce file sizes and throughput requirements by the introduction of lossy encoding.

To determine the effectiveness and efficiency of approximate computing approaches, it becomes obvious that it is required to ensure that results stay within an acceptable range. As a consequence, suitable quality metrics are required. The selection of such metrics is complex, error-prone, and highly application dependent. Espe-cially if metrics lead to contrary or insufficient conclusions, it is necessary to take multiple metrics into account. Our assessment framework gives indications of an application's performance with respect to run time, energy consumption and quality. An extensible implementation enables introduction of user-defined metrics and objectives. We found that the careless utilization of approximate computing threatens its usefulness. We observed increased output file sizes which can render the benefits of approximate computing useless in later processing steps.

Contribution to Smart Systems

Today's smart systems expose new requirements to embedded systems. Coupled closely with sensors and actuators, embedded systems play an important role in the whole processing chain of modern smart systems. We think, approximate computing offers new opportunities for the embedded system domain. By either applying approximation techniques to the source code or accepting inaccurate results, applications not designed for this domain can be executed on embedded systems. We showed that pattern recognition can be performed within certain limits on mobile devices. We ported an image-based virus detection application [START_REF] Neugebauer | Plasmon-based Virus Detection on Heterogeneous Embedded Systems[END_REF] from a dedicated computer to a high performance embedded system by using approximation techniques.

The next step to an aerial virus detection system with dozens of sensors is to move at least the preprocessing to a low-power embedded system closer to the sensor. We believe that new enhanced approximation techniques are key to achieve this goal. In this paper we present our assessment framework which enables us to pursue our overall goal of an aerial virus detection as an example of modern smart systems. The framework is not restricted to our application; a universal approach allows its usage in other domains.

In this paper we start with well-known approximation techniques and applications. One important result of our analyses is that focusing solely on a single metric or category can lead to significantly incorrect conclusions in the evaluation of approximation techniques; in addition, we discovered mutual influences between approximation techniques and lossy compression which can have negative side effects on objectives such as the file size. Since it is not obvious which approximation approach is suitable for a given application, the framework enables a design space exploration (DSE) of approximation techniques to assess the related gains and impacts.

In summary, the key contributions of this paper are:  An analysis of the impact of exemplary approximation techniques on representative applications showing the difficulty of using single-metrics QoS analyses,  An insight into conflicts between unfocused use of approximation and applicationinherent lossy compression techniques,  Enabling DSE for approximation techniques through an automatic evaluation of multiple metrics,  Enabling runtime and energy assessment on real embedded hardware,  Easy integration of user-defined metrics and objectives, and  Determining the impact of approximation techniques in early design stages.

On Approximate Computation and Metric Selection

Approximate computing promises to be a worthwhile approach to overcome or at least shift the influence of performance and power walls. In recent years, related techniques have seen significant adoption [START_REF] Mittal | A survey of techniques for approximate computing[END_REF]. On the hardware side, approximate computing can be applied to almost all components. For example, approximate adders [START_REF] Kedem | Optimizing energy to minimize errors in dataflow graphs using approximate adders[END_REF], logic complexity reduction at the transistor level [START_REF] Gupta | IMPACT: IMPrecise adders for low-Power Approximate Computing[END_REF], and reduced refresh rates of memories [START_REF] Liu | RAIDR: Retention-Aware Intelligent DRAM Refresh[END_REF]. Software approaches are usually more flexible than hardware ones since they can be adapted to specific scenarios or dynamically adjusted at run-time. Application knowledge can be introduced, exploring the specific requirements and capabilities of a given piece of software. Software approximation techniques can be executed on commodity hardware. Also, these techniques avoid the problem of obtaining unexpected results from inaccurate hardware computations and the problem of testing inaccurate hardware. Omitting iterations is the basic idea behind loop perforation [START_REF] Misailovic | Quality of service profiling[END_REF][START_REF] Sidiroglou | Managing performance vs. accuracy trade-offs with loop perforation[END_REF]. Using approximate data types and operations are the key features of EnerJ [START_REF] Sampson | EnerJ: Approximate Data Types for Safe and General Low-power Computation[END_REF]. The Green system [START_REF] Baek | Green: A Framework for Supporting Energy-Conscious Programming using Controlled Approximation[END_REF] enables programmers to express approximate functions and loops. Parallel applications can suffer from large synchronization overhead. Relaxing the synchronization by keeping the output quality in an acceptable range can improve the performance [START_REF] Renganarayana | Programming with relaxed synchronization[END_REF].

The impact of approximations on accuracy or QoS of applications can be quantified with metrics. Numerous metrics for different domains have been developed in the last decades. The presented approaches either rely on user-defined or heavily application-dependent quality metrics. In most cases, only one metric is considered. Akturk et al. [START_REF] Akturk | On quantification of accuracy loss in approximate computing[END_REF] presented hints on metric selection for different domains. However, choosing the appropriate metric during the development process is a complicated task as we show in the following. First, we present some of the most important metrics used in today's approximate computing research. This paper focuses on applications from the image processing domain. Thus, metrics concerning this domain are discussed.

Metrics can be at least classified into two categories. The first category focuses on the signal itself where mathematical properties are used to quantify the quality. The second category takes the context information and recipient of the result into account. For image processing applications with humans as recipients, this category is called Perceptual Visual Quality Metrics (PVQM) and according to Lin et. al [START_REF] Lin | Perceptual visual quality metrics: A survey[END_REF] the first category is called Signal Fidelity Metrics (SFM).

SFM are widespread and often used due to their simplicity. Prominent examples are the Mean-Squared Error (MSE), Root-Mean-Squared Error (RMSE), Mean-Absolute Error (MAE) and Peak-Signal-to-Noise Ratio (PSNR). In contrast to typical SFM, PQVM try to involve human visual system characteristics in the evaluation. Here, we present two metrics from this domain, the Universal Image Quality Index (UIQI) [START_REF] Wang | A universal image quality index[END_REF] and its successor the Structural Similarity Index (SSIM) [START_REF] Wang | Image quality assessment: From error visibility to structural similarity[END_REF]. Since the UIQI tends to be unstable in some cases, the SSIM uses some improvements to obtain stable results. During the development and analysis of applications using approximate computing, a selection of proper quality metrics is of high importance. Figure 1 shows three versions of the same picture with Figure 1a being the reference picture. In Figure 1b the image has been brightened, and in Figure 1c is distorted with Gaussian blur. Applying a signal fidelity metric like MSE results in almost identical values. Thus, judging which picture is better is complicated. In contrast to SFM, PVQM consider the human as receiver of the results. The resulting SSIM value indicates that Figure 1b is much better than Figure 1c. Not only for humans, also for pattern recognition applications these results are relevant. For example, an edge detection algorithm would usually perform better on images with sharp edges such as the image from Figure 1b.

This example highlights the importance of quality metrics and their selection for approximate computing. Selecting proper metrics is complex, error-prone and usually requires deep application knowledge.

Framework

The Quality Comparison for Approximate Programs on Embedded Systems (QCAPES) framework supports developers to introduce approximate computing into their applications taking the special requirements of embedded systems into account. As described in the previous sections, this paper focuses on applications from the multimedia domain. However, as this section shows, the framework can be applied to nearly all domains. QCAPES is available under an open source license 1 .

The user provides an executable without modifications which is considered as the reference and one or several inaccurate versions of the application to the framework. By passing a configuration file, the user selects metrics, objectives and data sets which are considered for the evaluation. Several metrics and some testing data from the multimedia domain are already included in the framework. Due to the open structure of QCAPES, new metrics and objectives can be added easily. Evaluation results are stored in a database and visualizations are generated.

Considering multiple metrics is crucial to evaluate the results generated by approximate versions of a given program in terms of output quality. This framework includes all previously discussed signal fidelity and perceptual-based metrics (cf. Section 3). For UIQI and SSIM, overlapping pixel by pixel or non-overlapping

Fig. 2. Run time and energy consumption for the x264-encoder

Blockwise sliding window implementations are provided. In addition, windows of block size 4×4, 8×8 or 16×16 pixels are used for the local quality evaluation. For the SSIM a Gaussian filter can be used to reduce the influence of pixels at the edges. To summarize, a total of 13 PVQM settings are available in the QCAPES framework. Additional metrics included, e.g. numerical applications, are not covered in this paper. The user of the framework selects which metrics and objectives should be used. In this paper the Odroid-XU3, containing a modern heterogeneous MPSoC, is used as a target platform. It provides facilities to measure the energy consumption of key components.

Evaluation

To highlight the importance of considering multiple quality metrics and objectives simultaneously, this paper presents two use-case studies from the multimedia and image processing domain typical for embedded systems. In these experiments, state of the art approximation techniques were applied.

In the first use-case essential loops of the x2642 video encoder were perforated following the work from Sidiroglou et al. [START_REF] Misailovic | Quality of service profiling[END_REF][START_REF] Sidiroglou | Managing performance vs. accuracy trade-offs with loop perforation[END_REF]. The perforated applications were evaluated with two videos (640×360 pixel, 32 and 128 frames) from PARSEC [START_REF] Bienia | The PARSEC Benchmark Suite: Characterization and Architectural Implications[END_REF] and two videos (352×288 pixel, both 300 frames) from Xiph.Org [18]. We used perf3 to validate Sidiroglou's selection of run time critical loops to perforate since an older version of the x264-encoder was used. We identified loops to perforate in two functions (x264_pixel_sad_x3_8x8 and x264_pixel_sad_x3_16x16). We choose to perforate the loops with a rate of 50% and 75% resulting in an execution of every second or forth iteration, respectively.

For each video, energy consumption and run time are measured on the Cortex-A15 and Cortex-A7 (cf. Figure 2). As expected, run time and energy consumption decrease with higher perforation rates. The results from run time reduction matches the conclusion of the original work. However, energy consumption measured on a real embedded system extends the existing work.

QCAPES enables analysis with multiple metrics. Figure 3 shows Y-component of the YCbCr encoded with perforation rate of 50%. The blockwise calculation led to almost identical results as pixel-based, while the run time for blockwise calculation was significantly shorter than pixel-based calculation. This indicates a fast alternative to pixel-based evaluation. Compared to the encoding time, applying blockwise PVQM seems feasible during run time, especially when idle cores are available. In general, the resulting videos were good with both perforation rates.

For memory limited or distributed systems, file size is an additional important aspect. By usage of a user-defined objective, the file size was also measured. The results indicate that dropping iterations leads to an increased file size. At a perforation rate of 50%, the file size never deviated more than 5% from the reference, while a perforation rate of 75% could lead to an increase of 20%. A detailed analysis of the frame types for the eledream 128 video shows that increasing the perforation rate increases the amount of P-and decreases B-frames.

At this point it should be emphasized again, that QCAPES compares the output of a reference implementation with the output of one or more approximate implementations. Due to this fact, the quality between the different implementations is examined. For example, in an approximate version of a video encoder, a larger fraction of Pframes could be generated, which would result in better output quality of the approximate version than the reference implementation. We have chosen this method, since it is not always possible to obtain access to the source material or it is not even desirable to get the closest output compared to the source (e.g. filter operations).

This result indicates that improvements achieved by approximation could be canceled out if a later memory or bandwidth constrained process like wireless transmission follows. Therefore, considering multiple metrics and objectives is crucial especially in the resource restricted embedded systems domain.

For the second experiment we used cjpeg, a JPEG encoder from the jpeg-9b package [6]. Here we studied two approximation techniques, namely reduced data type precision and algorithmic choice. In this case, cjpeg provides three different DCT algorithms and an adjustable compression quality. Three standard test pictures (512×512 pixel) [5], and a large picture (4000×4500 pixel) [18] were analyzed.

Run time and energy consumption in relation to the different algorithms are very similar. For the small images, only minor differences are measured. On the Odroid-XU3, the float implementation is the fastest and most energy efficient choice. The file size differs too, but not as much as for the videos.

PVQM SFM PSNR

Table 1. Impact of different quality settings for lena_color

To highlight some insights, SFM results for lena_color are listed in Table 1. For this image we have evaluated five different quality settings to assess if the quality between the different implementations change. In the comparison of the fast and the float implementation we could observe very interesting results. As shown in Table 1 the MAE decreases with lower quality settings, while the MSE and RMSE increase. A possible explanation could be that small errors vanish, while larger errors increase. By using the square in MSE to avoid averaging effects, larger errors can have a greater effect on the MSE and all other metrics based upon it, even if the absolute error is getting smaller. This assumption is supported by the cjpeg documentation; the fast implementation tends to produce worse results on higher quality settings than on lower settings. This shows that it is always advisable and recommended not to rely on just one specific metric or metric family, but to involve multiple metrics in the evaluation.

Conclusion and Future Work

Evaluating a small set of complex, real-world benchmarks using QCAPES has already demonstrated the usefulness of an automatic, multi-metric assessment framework to discover previously unexpected effects of the naïve application of approximation techniques. In cases where approximation techniques interfere with applicationspecific inherent optimizations, e.g., the application of psychoacoustic or visual models for lossy data compression, the consideration of additional metrics, such as file size (and, consequently, energy consumption for transfer or storage) is necessary to efficiently apply approximation techniques without introducing undesirable side effects. We expect similar effects to show up especially in applications which are supposed to benefit most from approximation, thus multi-criterial assessment will be required for holistically building of efficient approximate systems. In addition, we propose to involve application domain experts in the QoS assessment process. Our JPEG example shows that using multiple metrics can be used to identify the structure of errors. In addition, contradicting metrics evaluating the same approximation approach demonstrate that a careful selection and combination of metrics is required for real-world use cases. Here, QCAPES provides an easy approach to integrate the simultaneous evaluation of different metrics. This is becoming especially relevant since we expect a large amount of the output of the approximate applications to be consumed by subsequent pieces of software, e.g., in autonomously driving cars, instead of a human end user who can detect and complain about insufficient quality. A dynamic QoS adaptation at runtime is a worthwhile goal, e.g. to adapt a system's output to changing requirements or to cope with previously unknown input data. Our evaluation has shown that the overhead of QoS assessment is small compared to the compu- tational requirements for the application itself. This motivates to investigate the evolution of QCAPES into an online QoS assessment and control tool, enabling the easy establishment of software control circuits. The discussed metrics rely on comparing the "lossy" QoS-reduced application with a reference version. Integrating reduced reference metrics into the framework would increase the usage and flexibility.

Fig. 1 .

 1 Fig. 1. Quality comparison according to MSE and SSIM

Fig. 3 .

 3 Fig. 3. Frame-by-frame analysis of the Y channel for x264 encoding of eledream 128. Higher values in 3a and 3c are better, and in 3b lower values are better.

http://sfb876.tu-dortmund.de/auto?self=Software

x264-snapshot-20160203-2245

Linux profiling with performance counters

Acknowledgements

The authors like to thank the German Research Foundation (DFG) for supporting part of this work within the Collaborative Research Center SFB 876 "Providing Information by Resource-Constrained Data Analysis", projects A3 and B2, http://sfb876.tu-dortmund.de/.